diff --git a/runtime/queries/wgsl/highlights.scm b/runtime/queries/wgsl/highlights.scm index fe10c6849..c59ef6b51 100644 --- a/runtime/queries/wgsl/highlights.scm +++ b/runtime/queries/wgsl/highlights.scm @@ -31,8 +31,6 @@ ["(" ")" "[" "]" "{" "}"] @punctuation.bracket -(type_declaration ["<" ">"] @punctuation.bracket) - [ "break" "continue" @@ -115,3 +113,120 @@ (identifier) @attribute) (comment) @comment + +; built-in wgsl functions: https://webgpufundamentals.org/webgpu/lessons/webgpu-wgsl-function-reference.html +( + (identifier) @function.builtin + (#any-of? @function.builtin + "abs" + "abs" + "acos" + "acosh" + "all" + "any" + "arrayLength" + "asin" + "asinh" + "atan" + "atan2" + "atanh" + "atomicAdd" + "atomicLoad" + "atomicStore" + "bitcast" + "ceil" + "clamp" + "cos" + "cosh" + "countLeadingZeros" + "countOneBits" + "countTrailingZeros" + "cross" + "degrees" + "determinant" + "distance" + "dot" + "dpdx" + "dpdxCoarse" + "dpdxFine" + "dpdy" + "dpdyCoarse" + "dpdyFine" + "exp" + "exp2" + "extractBits" + "faceForward" + "firstLeadingBit" + "firstTrailingBit" + "floor" + "fma" + "fract" + "frexp" + "fwidth" + "fwidthCoarse" + "fwidthFine" + "gather_depth_compare" + "gather_x_components" + "insertBits" + "inverseSqrt" + "ldexp" + "length" + "log" + "log2" + "max" + "min" + "mix" + "modf" + "normalize" + "pack2x16float" + "pack2x16snorm" + "pack2x16unorm" + "pack4x8snorm" + "pack4x8unorm" + "pow" + "quantizeToF16" + "radians" + "reflect" + "refract" + "reverseBits" + "round" + "saturate" + "select" + "sign" + "sin" + "sinh" + "smoothstep" + "sqrt" + "step" + "storageBarrier" + "tan" + "tanh" + "textureDimensions" + "textureGather" + "textureGatherCompare" + "textureLoad" + "textureNumLayers" + "textureNumLevels" + "textureNumSamples" + "textureSample" + "textureSampleBaseClampToEdge" + "textureSampleBias" + "textureSampleCompare" + "textureSampleCompareLevel" + "textureSampleGrad" + "textureSampleLevel" + "textureStore" + "transpose" + "trunc" + "unpack2x16float" + "unpack2x16snorm" + "unpack2x16unorm" + "unpack4x8snorm" + "unpack4x8unorm" + "workgroupBarrier" + "workgroupUniformLoad" + ) +) + +(type_declaration ["<" ">"] @punctuation.bracket) +(variable_qualifier ["<" ">"] @punctuation.bracket)