tree-sitter-glsl-spec 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,486 @@
1
+ ; This file is generated by generate_highlights.js.
2
+ ; Edit queries/highlights.in or builtin.js, then regenerate.
3
+
4
+ "break" @keyword
5
+ "case" @keyword
6
+ "const" @keyword
7
+ "continue" @keyword
8
+ "default" @keyword
9
+ "discard" @keyword
10
+ "do" @keyword
11
+ "else" @keyword
12
+ "for" @keyword
13
+ "if" @keyword
14
+ "return" @keyword
15
+ "struct" @keyword
16
+ "switch" @keyword
17
+ "while" @keyword
18
+
19
+ (preproc_call
20
+ directive: (preproc_directive) @keyword)
21
+
22
+ "=" @operator
23
+ (assignment_expression
24
+ operator: _ @operator)
25
+
26
+ (binary_expression
27
+ operator: _ @operator)
28
+
29
+ (unary_expression
30
+ operator: _ @operator)
31
+
32
+ (update_expression
33
+ operator: _ @operator)
34
+
35
+
36
+ "." @delimiter
37
+ "," @delimiter
38
+ ";" @delimiter
39
+ "(" @delimiter
40
+ ")" @delimiter
41
+ "[" @delimiter
42
+ "]" @delimiter
43
+ "{" @delimiter
44
+ "}" @delimiter
45
+
46
+ [
47
+ (number_literal)
48
+ ] @number
49
+
50
+ (bool_literal) @boolean
51
+
52
+ (comment) @comment
53
+
54
+ (invariant_qualifier) @keyword
55
+ (layout_qualifier) @keyword
56
+ (precise_qualifier) @keyword
57
+
58
+ ((storage_qualifier) @keyword
59
+ (#match? @keyword "^subroutine(\\(|$)"))
60
+
61
+ (function_declarator
62
+ name: (identifier) @function)
63
+
64
+ (function_call
65
+ function: (identifier) @function)
66
+
67
+ (function_call
68
+ function: (field_expression
69
+ field: (field_identifier) @function))
70
+
71
+ (preproc_function_def
72
+ name: (identifier) @function.special)
73
+
74
+ (field_identifier) @property
75
+
76
+ (type_specifier
77
+ (type_identifier) @type)
78
+
79
+ [
80
+ "atomic_uint" "bool" "bvec2" "bvec3" "bvec4" "float" "iimage2D" "iimage2DArray"
81
+ "iimage3D" "iimageBuffer" "iimageCube" "iimageCubeArray" "image2D" "image2DArray"
82
+ "image3D" "imageBuffer" "imageCube" "imageCubeArray" "int" "isampler2D"
83
+ "isampler2DArray" "isampler2DMS" "isampler2DMSArray" "isampler3D" "isamplerBuffer"
84
+ "isamplerCube" "isamplerCubeArray" "ivec2" "ivec3" "ivec4" "mat2" "mat2x2" "mat2x3"
85
+ "mat2x4" "mat3" "mat3x2" "mat3x3" "mat3x4" "mat4" "mat4x2" "mat4x3" "mat4x4"
86
+ "sampler2D" "sampler2DArray" "sampler2DArrayShadow" "sampler2DMS" "sampler2DMSArray"
87
+ "sampler2DShadow" "sampler3D" "samplerBuffer" "samplerCube" "samplerCubeArray"
88
+ "samplerCubeArrayShadow" "samplerCubeShadow" "uimage2D" "uimage2DArray" "uimage3D"
89
+ "uimageBuffer" "uimageCube" "uimageCubeArray" "uint" "usampler2D" "usampler2DArray"
90
+ "usampler2DMS" "usampler2DMSArray" "usampler3D" "usamplerBuffer" "usamplerCube"
91
+ "usamplerCubeArray" "uvec2" "uvec3" "uvec4" "vec2" "vec3" "vec4" "void" "dmat2"
92
+ "dmat2x2" "dmat2x3" "dmat2x4" "dmat3" "dmat3x2" "dmat3x3" "dmat3x4" "dmat4" "dmat4x2"
93
+ "dmat4x3" "dmat4x4" "double" "dvec2" "dvec3" "dvec4" "iimage1D" "iimage1DArray"
94
+ "iimage2DMS" "iimage2DMSArray" "iimage2DRect" "image1D" "image1DArray" "image2DMS"
95
+ "image2DMSArray" "image2DRect" "isampler1D" "isampler1DArray" "isampler2DRect"
96
+ "itexture2DRect" "sampler1D" "sampler1DArray" "sampler1DArrayShadow" "sampler1DShadow"
97
+ "sampler2DRect" "sampler2DRectShadow" "texture2DRect" "uimage1D" "uimage1DArray"
98
+ "uimage2DMS" "uimage2DMSArray" "uimage2DRect" "usampler1D" "usampler1DArray"
99
+ "usampler2DRect" "utexture2DRect" "isubpassInput" "isubpassInputMS" "itexture1D"
100
+ "itexture1DArray" "itexture2D" "itexture2DArray" "itexture2DMS" "itexture2DMSArray"
101
+ "itexture3D" "itextureBuffer" "itextureCube" "itextureCubeArray" "sampler"
102
+ "samplerShadow" "subpassInput" "subpassInputMS" "texture1D" "texture1DArray"
103
+ "texture2D" "texture2DArray" "texture2DMS" "texture2DMSArray" "texture3D"
104
+ "textureBuffer" "textureCube" "textureCubeArray" "usubpassInput" "usubpassInputMS"
105
+ "utexture1D" "utexture1DArray" "utexture2D" "utexture2DArray" "utexture2DMS"
106
+ "utexture2DMSArray" "utexture3D" "utextureBuffer" "utextureCube" "utextureCubeArray"
107
+ "tensorARM" "bf16vec2" "bf16vec3" "bf16vec4" "bfloat16_t" "fe4m3vec2" "fe4m3vec3"
108
+ "fe4m3vec4" "floate4m3_t" "fe5m2vec2" "fe5m2vec3" "fe5m2vec4" "floate5m2_t" "f16mat2"
109
+ "f16mat2x2" "f16mat2x3" "f16mat2x4" "f16mat3" "f16mat3x2" "f16mat3x3" "f16mat3x4"
110
+ "f16mat4" "f16mat4x2" "f16mat4x3" "f16mat4x4" "f16vec2" "f16vec3" "f16vec4" "f32mat2"
111
+ "f32mat2x2" "f32mat2x3" "f32mat2x4" "f32mat3" "f32mat3x2" "f32mat3x3" "f32mat3x4"
112
+ "f32mat4" "f32mat4x2" "f32mat4x3" "f32mat4x4" "f32vec2" "f32vec3" "f32vec4" "f64mat2"
113
+ "f64mat2x2" "f64mat2x3" "f64mat2x4" "f64mat3" "f64mat3x2" "f64mat3x3" "f64mat3x4"
114
+ "f64mat4" "f64mat4x2" "f64mat4x3" "f64mat4x4" "f64vec2" "f64vec3" "f64vec4"
115
+ "float16_t" "float32_t" "float64_t" "i16vec2" "i16vec3" "i16vec4" "i32vec2" "i32vec3"
116
+ "i32vec4" "i64vec2" "i64vec3" "i64vec4" "i8vec2" "i8vec3" "i8vec4" "int16_t" "int32_t"
117
+ "int64_t" "int8_t" "u16vec2" "u16vec3" "u16vec4" "u32vec2" "u32vec3" "u32vec4"
118
+ "u64vec2" "u64vec3" "u64vec4" "u8vec2" "u8vec3" "u8vec4" "uint16_t" "uint32_t"
119
+ "uint64_t" "uint8_t" "accelerationStructureEXT" "rayQueryEXT" "hitObjectEXT"
120
+ "attachmentEXT" "iattachmentEXT" "uattachmentEXT" "coopmat" "coopmatNV" "fcoopmatNV"
121
+ "icoopmatNV" "ucoopmatNV" "tensorLayoutNV" "tensorViewNV" "coopvecNV"
122
+ "accelerationStructureNV" "hitObjectNV"
123
+ ] @type.builtin
124
+
125
+ [
126
+ "attribute" "buffer" "centroid" "coherent" "in" "inout" "out" "patch" "readonly"
127
+ "restrict" "sample" "shared" "uniform" "varying" "volatile" "writeonly" "highp" "lowp"
128
+ "mediump" "flat" "noperspective" "smooth" "nonuniformEXT" "subgroupuniformEXT"
129
+ "pervertexEXT" "perprimitiveEXT" "taskPayloadSharedEXT" "nontemporal"
130
+ "callableDataEXT" "callableDataInEXT" "hitAttributeEXT" "rayPayloadEXT"
131
+ "rayPayloadInEXT" "shaderRecordEXT" "shadercallcoherent" "hitObjectAttributeEXT"
132
+ "tileImageEXT" "pervertexNV" "perprimitiveNV" "perviewNV" "taskNV" "callableDataInNV"
133
+ "callableDataNV" "hitAttributeNV" "rayPayloadInNV" "rayPayloadNV" "shaderRecordNV"
134
+ "hitObjectAttributeNV"
135
+ ] @type.qualifier
136
+
137
+ (layout_argument
138
+ "shared" @attribute)
139
+
140
+ ((layout_argument
141
+ (identifier) @attribute)
142
+ (#any-of? @attribute
143
+ "lines" "local_size_x" "local_size_x_id" "local_size_y" "local_size_y_id"
144
+ "local_size_z" "local_size_z_id" "max_primitives" "max_vertices" "points" "triangles"
145
+ "branch" "dependency_infinite" "dependency_length" "dont_flatten" "dont_unroll"
146
+ "flatten" "loop" "unroll" "iteration_multiple" "max_iterations" "min_iterations"
147
+ "partial_count" "peel_count" "maximally_reconverges" "scalar"
148
+ "subgroup_uniform_control_flow" "constant_id" "input_attachment_index" "push_constant"
149
+ "set" "buffer_reference" "buffer_reference_align" "descriptor_heap"
150
+ "descriptor_stride" "primitive_culling" "hitobjectshaderrecordext"
151
+ "non_coherent_color_attachment_readEXT" "non_coherent_depth_attachment_readEXT"
152
+ "non_coherent_stencil_attachment_readEXT" "derivative_group_linearNV"
153
+ "derivative_group_quadsNV" "bank" "member_offset" "hitobjectshaderrecordnv")
154
+ )
155
+
156
+ ((identifier) @constant
157
+ (#match? @constant "^[A-Z][A-Z\\d_]*$"))
158
+
159
+ ; Built-in constant names from builtins.adoc.
160
+ ((identifier) @constant.builtin
161
+ (#any-of? @constant.builtin
162
+ "gl_ClusterIDNoneNV" "gl_ComponentTypeFloat16NV" "gl_ComponentTypeFloat32NV"
163
+ "gl_ComponentTypeFloat64NV" "gl_ComponentTypeFloatE4M3NV"
164
+ "gl_ComponentTypeFloatE5M2NV" "gl_ComponentTypeSignedInt16NV"
165
+ "gl_ComponentTypeSignedInt32NV" "gl_ComponentTypeSignedInt64NV"
166
+ "gl_ComponentTypeSignedInt8NV" "gl_ComponentTypeSignedInt8PackedNV"
167
+ "gl_ComponentTypeUnsignedInt16NV" "gl_ComponentTypeUnsignedInt32NV"
168
+ "gl_ComponentTypeUnsignedInt64NV" "gl_ComponentTypeUnsignedInt8NV"
169
+ "gl_ComponentTypeUnsignedInt8PackedNV" "gl_CooperativeMatrixClampModeClampToEdgeNV"
170
+ "gl_CooperativeMatrixClampModeConstantNV"
171
+ "gl_CooperativeMatrixClampModeMirrorRepeatNV" "gl_CooperativeMatrixClampModeRepeatNV"
172
+ "gl_CooperativeMatrixClampModeUndefinedNV"
173
+ "gl_CooperativeMatrixLayoutColumnBlockedInterleavedARM"
174
+ "gl_CooperativeMatrixLayoutColumnMajor"
175
+ "gl_CooperativeMatrixLayoutRowBlockedInterleavedARM"
176
+ "gl_CooperativeMatrixLayoutRowMajor" "gl_CooperativeMatrixReduce2x2NV"
177
+ "gl_CooperativeMatrixReduceColumnNV" "gl_CooperativeMatrixReduceRowAndColumnNV"
178
+ "gl_CooperativeMatrixReduceRowNV" "gl_CooperativeVectorMatrixLayoutColumnMajorNV"
179
+ "gl_CooperativeVectorMatrixLayoutInferencingOptimalNV"
180
+ "gl_CooperativeVectorMatrixLayoutRowMajorNV"
181
+ "gl_CooperativeVectorMatrixLayoutTrainingOptimalNV" "gl_HitKindBackFacingTriangleEXT"
182
+ "gl_HitKindFrontFacingTriangleEXT" "gl_MatrixOperandsSaturatingAccumulation"
183
+ "gl_MatrixUseA" "gl_MatrixUseAccumulator" "gl_MatrixUseB"
184
+ "gl_MaxAtomicCounterBindings" "gl_MaxAtomicCounterBufferSize" "gl_MaxClipDistances"
185
+ "gl_MaxClipPlanes" "gl_MaxCombinedAtomicCounterBuffers" "gl_MaxCombinedAtomicCounters"
186
+ "gl_MaxCombinedClipAndCullDistances" "gl_MaxCombinedImageUniforms"
187
+ "gl_MaxCombinedImageUnitsAndFragmentOutputs" "gl_MaxCombinedShaderOutputResources"
188
+ "gl_MaxCombinedTextureImageUnits" "gl_MaxComputeAtomicCounterBuffers"
189
+ "gl_MaxComputeAtomicCounters" "gl_MaxComputeImageUniforms"
190
+ "gl_MaxComputeTextureImageUnits" "gl_MaxComputeUniformComponents"
191
+ "gl_MaxComputeWorkGroupCount" "gl_MaxComputeWorkGroupSize" "gl_MaxCullDistances"
192
+ "gl_MaxDrawBuffers" "gl_MaxFragmentAtomicCounterBuffers"
193
+ "gl_MaxFragmentAtomicCounters" "gl_MaxFragmentImageUniforms"
194
+ "gl_MaxFragmentInputComponents" "gl_MaxFragmentInputVectors"
195
+ "gl_MaxFragmentUniformComponents" "gl_MaxFragmentUniformVectors"
196
+ "gl_MaxGeometryAtomicCounterBuffers" "gl_MaxGeometryAtomicCounters"
197
+ "gl_MaxGeometryImageUniforms" "gl_MaxGeometryInputComponents"
198
+ "gl_MaxGeometryOutputComponents" "gl_MaxGeometryOutputVertices"
199
+ "gl_MaxGeometryTextureImageUnits" "gl_MaxGeometryTotalOutputComponents"
200
+ "gl_MaxGeometryUniformComponents" "gl_MaxGeometryVaryingComponents"
201
+ "gl_MaxImageSamples" "gl_MaxImageUnits" "gl_MaxInputAttachments" "gl_MaxLights"
202
+ "gl_MaxMeshViewCountNV" "gl_MaxPatchVertices" "gl_MaxProgramTexelOffset"
203
+ "gl_MaxSamples" "gl_MaxTessControlAtomicCounterBuffers"
204
+ "gl_MaxTessControlAtomicCounters" "gl_MaxTessControlImageUniforms"
205
+ "gl_MaxTessControlInputComponents" "gl_MaxTessControlOutputComponents"
206
+ "gl_MaxTessControlTextureImageUnits" "gl_MaxTessControlTotalOutputComponents"
207
+ "gl_MaxTessControlUniformComponents" "gl_MaxTessEvaluationAtomicCounterBuffers"
208
+ "gl_MaxTessEvaluationAtomicCounters" "gl_MaxTessEvaluationImageUniforms"
209
+ "gl_MaxTessEvaluationInputComponents" "gl_MaxTessEvaluationOutputComponents"
210
+ "gl_MaxTessEvaluationTextureImageUnits" "gl_MaxTessEvaluationUniformComponents"
211
+ "gl_MaxTessGenLevel" "gl_MaxTessPatchComponents" "gl_MaxTextureCoords"
212
+ "gl_MaxTextureImageUnits" "gl_MaxTextureUnits" "gl_MaxTransformFeedbackBuffers"
213
+ "gl_MaxTransformFeedbackInterleavedComponents" "gl_MaxVaryingComponents"
214
+ "gl_MaxVaryingFloats" "gl_MaxVaryingVectors" "gl_MaxVertexAtomicCounterBuffers"
215
+ "gl_MaxVertexAtomicCounters" "gl_MaxVertexAttribs" "gl_MaxVertexImageUniforms"
216
+ "gl_MaxVertexOutputComponents" "gl_MaxVertexOutputVectors"
217
+ "gl_MaxVertexTextureImageUnits" "gl_MaxVertexUniformComponents"
218
+ "gl_MaxVertexUniformVectors" "gl_MaxViewports" "gl_MinProgramTexelOffset"
219
+ "gl_RayFlagsCullBackFacingTrianglesEXT" "gl_RayFlagsCullBackFacingTrianglesNV"
220
+ "gl_RayFlagsCullFrontFacingTrianglesEXT" "gl_RayFlagsCullFrontFacingTrianglesNV"
221
+ "gl_RayFlagsCullNoOpaqueEXT" "gl_RayFlagsCullNoOpaqueNV" "gl_RayFlagsCullOpaqueEXT"
222
+ "gl_RayFlagsCullOpaqueNV" "gl_RayFlagsForceOpacityMicromap2StateEXT"
223
+ "gl_RayFlagsNoneEXT" "gl_RayFlagsNoneNV" "gl_RayFlagsNoOpaqueEXT"
224
+ "gl_RayFlagsNoOpaqueNV" "gl_RayFlagsOpaqueEXT" "gl_RayFlagsOpaqueNV"
225
+ "gl_RayFlagsSkipAABBEXT" "gl_RayFlagsSkipBuiltinPrimitivesNV"
226
+ "gl_RayFlagsSkipClosestHitShaderEXT" "gl_RayFlagsSkipClosestHitShaderNV"
227
+ "gl_RayFlagsSkipTrianglesEXT" "gl_RayFlagsTerminateOnFirstHitEXT"
228
+ "gl_RayFlagsTerminateOnFirstHitNV" "gl_RayQueryCandidateIntersectionAABBEXT"
229
+ "gl_RayQueryCandidateIntersectionTriangleEXT"
230
+ "gl_RayQueryCommittedIntersectionGeneratedEXT"
231
+ "gl_RayQueryCommittedIntersectionNoneEXT"
232
+ "gl_RayQueryCommittedIntersectionTriangleEXT" "gl_ScopeDevice" "gl_ScopeInvocation"
233
+ "gl_ScopeQueueFamily" "gl_ScopeShaderCallEXT" "gl_ScopeSubgroup" "gl_ScopeWorkgroup"
234
+ "gl_SemanticsAcquire" "gl_SemanticsAcquireRelease" "gl_SemanticsMakeAvailable"
235
+ "gl_SemanticsMakeVisible" "gl_SemanticsRelaxed" "gl_SemanticsRelease"
236
+ "gl_SemanticsVolatile" "gl_ShadingRateFlag2HorizontalPixelsEXT"
237
+ "gl_ShadingRateFlag2VerticalPixelsEXT" "gl_ShadingRateFlag4HorizontalPixelsEXT"
238
+ "gl_ShadingRateFlag4VerticalPixelsEXT" "gl_StorageSemanticsBuffer"
239
+ "gl_StorageSemanticsImage" "gl_StorageSemanticsNone" "gl_StorageSemanticsOutput"
240
+ "gl_StorageSemanticsShared" "gl_TensorOperandsNonTemporalARM"
241
+ "gl_TensorOperandsOutOfBoundsValueARM" "gl_WorkGroupSize"))
242
+
243
+ ; Built-in variable names from builtins.adoc.
244
+ ((identifier) @variable.builtin
245
+ (#any-of? @variable.builtin
246
+ "gl_BackColor" "gl_BackLightModelProduct" "gl_BackLightProduct" "gl_BackMaterial"
247
+ "gl_BackSecondaryColor" "gl_BaryCoordEXT" "gl_BaryCoordNoPerspAMD"
248
+ "gl_BaryCoordNoPerspCentroidAMD" "gl_BaryCoordNoPerspEXT" "gl_BaryCoordNoPerspNV"
249
+ "gl_BaryCoordNoPerspSampleAMD" "gl_BaryCoordNV" "gl_BaryCoordPullModelAMD"
250
+ "gl_BaryCoordSmoothAMD" "gl_BaryCoordSmoothCentroidAMD" "gl_BaryCoordSmoothSampleAMD"
251
+ "gl_BaseInstance" "gl_BaseVertex" "gl_BoundingBox" "gl_ClipDistance"
252
+ "gl_ClipDistancePerViewEXT" "gl_ClipDistancePerViewNV" "gl_ClipPlane" "gl_ClipVertex"
253
+ "gl_ClusterIDHUAWEI" "gl_ClusterIDNV" "gl_Color" "gl_CoreCountARM" "gl_CoreIDARM"
254
+ "gl_CoreMaxIDARM" "gl_CullDistance" "gl_CullDistancePerViewEXT"
255
+ "gl_CullDistancePerViewNV" "gl_CullMaskEXT" "gl_CullPrimitiveEXT"
256
+ "gl_CurrentRayTimeNV" "gl_DepthRange" "gl_DeviceIndex" "gl_DrawID" "gl_EyePlaneQ"
257
+ "gl_EyePlaneR" "gl_EyePlaneS" "gl_EyePlaneT" "gl_FirstIndexHUAWEI"
258
+ "gl_FirstInstanceHUAWEI" "gl_FirstVertexHUAWEI" "gl_Fog" "gl_FogCoord"
259
+ "gl_FogFragCoord" "gl_FragColor" "gl_FragCoord" "gl_FragData" "gl_FragDepth"
260
+ "gl_FragInvocationCountEXT" "gl_FragmentSizeNV" "gl_FragSizeEXT" "gl_FragSizeNV"
261
+ "gl_FragStencilRefARB" "gl_FrontColor" "gl_FrontFacing" "gl_FrontLightModelProduct"
262
+ "gl_FrontLightProduct" "gl_FrontMaterial" "gl_FrontSecondaryColor"
263
+ "gl_GeometryIndexEXT" "gl_GlobalInvocationID" "gl_HelperInvocation"
264
+ "gl_HelperThreadNV" "gl_HitIsLSSNV" "gl_HitIsSphereNV"
265
+ "gl_HitKindBackFacingMicroTriangleNV" "gl_HitKindEXT"
266
+ "gl_HitKindFrontFacingMicroTriangleNV" "gl_HitKindNV" "gl_HitLSSPositionsNV"
267
+ "gl_HitLSSRadiiNV" "gl_HitMicroTriangleVertexBarycentricsNV"
268
+ "gl_HitMicroTriangleVertexPositionsNV" "gl_HitSpherePositionNV" "gl_HitSphereRadiusNV"
269
+ "gl_HitTEXT" "gl_HitTNV" "gl_HitTriangleVertexPositionsEXT" "gl_in"
270
+ "gl_IncomingRayFlagsEXT" "gl_IncomingRayFlagsNV" "gl_IndexCountHUAWEI"
271
+ "gl_InstanceCountHUAWEI" "gl_InstanceCustomIndexEXT" "gl_InstanceCustomIndexNV"
272
+ "gl_InstanceID" "gl_InstanceIndex" "gl_InvocationID" "gl_InvocationsPerPixelNV"
273
+ "gl_LaunchIDEXT" "gl_LaunchIDNV" "gl_LaunchSizeEXT" "gl_LaunchSizeNV" "gl_Layer"
274
+ "gl_LayerPerViewNV" "gl_LightModel" "gl_LightSource" "gl_LocalInvocationID"
275
+ "gl_LocalInvocationIndex" "gl_MeshPrimitivesEXT" "gl_MeshPrimitivesNV"
276
+ "gl_MeshVerticesEXT" "gl_MeshVerticesNV" "gl_MeshViewCountNV" "gl_MeshViewIndicesNV"
277
+ "gl_ModelViewMatrix" "gl_ModelViewMatrixInverse" "gl_ModelViewMatrixInverseTranspose"
278
+ "gl_ModelViewMatrixTranspose" "gl_ModelViewProjectionMatrix"
279
+ "gl_ModelViewProjectionMatrixInverse" "gl_ModelViewProjectionMatrixInverseTranspose"
280
+ "gl_ModelViewProjectionMatrixTranspose" "gl_MultiTexCoord0" "gl_MultiTexCoord1"
281
+ "gl_MultiTexCoord2" "gl_MultiTexCoord3" "gl_MultiTexCoord4" "gl_MultiTexCoord5"
282
+ "gl_MultiTexCoord6" "gl_MultiTexCoord7" "gl_Normal" "gl_NormalMatrix" "gl_NormalScale"
283
+ "gl_NumSamples" "gl_NumSubgroups" "gl_NumWorkGroups" "gl_ObjectPlaneQ"
284
+ "gl_ObjectPlaneR" "gl_ObjectPlaneS" "gl_ObjectPlaneT" "gl_ObjectRayDirectionEXT"
285
+ "gl_ObjectRayDirectionNV" "gl_ObjectRayOriginEXT" "gl_ObjectRayOriginNV"
286
+ "gl_ObjectToWorld3x4EXT" "gl_ObjectToWorldEXT" "gl_ObjectToWorldNV" "gl_out"
287
+ "gl_PatchVerticesIn" "gl_Point" "gl_PointCoord" "gl_PointSize" "gl_Position"
288
+ "gl_PositionPerViewNV" "gl_PrimitiveCountNV" "gl_PrimitiveID" "gl_PrimitiveIDIn"
289
+ "gl_PrimitiveIndicesNV" "gl_PrimitiveLineIndicesEXT" "gl_PrimitivePointIndicesEXT"
290
+ "gl_PrimitiveShadingRateEXT" "gl_PrimitiveTriangleIndicesEXT" "gl_ProjectionMatrix"
291
+ "gl_ProjectionMatrixInverse" "gl_ProjectionMatrixInverseTranspose"
292
+ "gl_ProjectionMatrixTranspose" "gl_RayFlagsEXT" "gl_RayTmaxEXT" "gl_RayTMaxEXT"
293
+ "gl_RayTmaxNV" "gl_RayTminEXT" "gl_RayTMinEXT" "gl_RayTminNV" "gl_SampleID"
294
+ "gl_SampleMask" "gl_SampleMaskIn" "gl_SamplePosition" "gl_SecondaryColor"
295
+ "gl_ShadingRateEXT" "gl_ShadingRateNV" "gl_ShadingRatePerViewNV" "gl_SMCountNV"
296
+ "gl_SMIDNV" "gl_SubgroupEqMask" "gl_SubgroupGeMask" "gl_SubgroupGtMask"
297
+ "gl_SubgroupID" "gl_SubgroupInvocationID" "gl_SubgroupLeMask" "gl_SubgroupLtMask"
298
+ "gl_SubgroupSize" "gl_TaskCountNV" "gl_TessCoord" "gl_TessLevelInner"
299
+ "gl_TessLevelOuter" "gl_TexCoord" "gl_TextureEnvColor" "gl_TextureMatrix"
300
+ "gl_TextureMatrixInverse" "gl_TextureMatrixInverseTranspose"
301
+ "gl_TextureMatrixTranspose" "gl_ThreadInWarpNV" "gl_TileApronSizeQCOM"
302
+ "gl_TileDimensionQCOM" "gl_TileOffsetQCOM" "gl_Vertex" "gl_VertexCountHUAWEI"
303
+ "gl_VertexID" "gl_VertexIndex" "gl_VertexOffsetHUAWEI" "gl_ViewIndex"
304
+ "gl_ViewportIndex" "gl_ViewportMaskPerViewNV" "gl_WarpIDARM" "gl_WarpIDNV"
305
+ "gl_WarpMaxIDARM" "gl_WarpSizeNV" "gl_WarpsPerSMNV" "gl_WorkGroupID"
306
+ "gl_WorldRayDirectionEXT" "gl_WorldRayDirectionNV" "gl_WorldRayOriginEXT"
307
+ "gl_WorldRayOriginNV" "gl_WorldToObject3x4EXT" "gl_WorldToObjectEXT"
308
+ "gl_WorldToObjectNV"))
309
+
310
+ ; Built-in type-like names from builtins.adoc such as gl_PerVertex.
311
+ ((type_specifier
312
+ (type_identifier) @type.builtin)
313
+ (#any-of? @type.builtin
314
+ "__explicitInterpAMD" "accelerationStructureEXT" "accelerationStructureNV"
315
+ "attachmentEXT" "callableDataEXT" "callableDataInEXT" "coopmatNV" "coopvecNV"
316
+ "derivative_group_linearNV" "derivative_group_quadsNV" "fcoopmatNV"
317
+ "gl_DepthRangeParameters" "gl_FogParameters" "gl_LightModelParameters"
318
+ "gl_LightModelProducts" "gl_LightProducts" "gl_LightSourceParameters"
319
+ "gl_MaterialParameters" "gl_MeshPerPrimitiveEXT" "gl_MeshPerPrimitiveNV"
320
+ "gl_MeshPerVertexEXT" "gl_MeshPerVertexNV" "gl_PerClusterHUAWEI" "gl_PerFragment"
321
+ "gl_PerVertex" "gl_PointParameters" "gl_TextureFootprint2DNV"
322
+ "gl_TextureFootprint3DNV" "hitAttributeEXT" "hitObjectEXT" "hitObjectNV"
323
+ "iattachmentEXT" "icoopmatNV" "non_coherent_attachment_readQCOM" "nonuniformEXT"
324
+ "perprimitiveEXT" "pervertexEXT" "pervertexNV" "rayPayloadEXT" "rayPayloadInEXT"
325
+ "rayQueryEXT" "shaderRecordEXT" "shaderRecordNV" "shading_rate_xQCOM"
326
+ "shading_rate_yQCOM" "shading_rate_zQCOM" "subgroupPartitionNV" "subgroupuniformEXT"
327
+ "taskPayloadSharedEXT" "tensorARM" "tensorLayoutNV" "tensorViewNV"
328
+ "tile_attachmentQCOM" "uattachmentEXT" "ucoopmatNV"))
329
+
330
+ ; Built-in function names from builtinfunctions.adoc.
331
+ ; Vulkan-only built-in function names from builtinfunctions.adoc.
332
+ ((function_call
333
+ function: (identifier) @function.builtin.vk)
334
+ (#any-of? @function.builtin.vk
335
+ "subpassLoad"))
336
+
337
+ ; Built-in function names from builtinfunctions.adoc.
338
+ ((function_call
339
+ function: (identifier) @function.builtin)
340
+ (#any-of? @function.builtin
341
+ "abs" "acos" "acosh" "activeThreadsNV" "all" "allInvocations" "allInvocationsEqual"
342
+ "any" "anyInvocation" "asin" "asinh" "assumeEXT" "atan" "atanh" "atomicAdd"
343
+ "atomicAnd" "atomicCompSwap" "atomicCounter" "atomicCounterAdd" "atomicCounterAnd"
344
+ "atomicCounterCompSwap" "atomicCounterDecrement" "atomicCounterExchange"
345
+ "atomicCounterIncrement" "atomicCounterMax" "atomicCounterMin" "atomicCounterOr"
346
+ "atomicCounterSubtract" "atomicCounterXor" "atomicExchange" "atomicLoad" "atomicMax"
347
+ "atomicMin" "atomicOr" "atomicStore" "atomicXor" "ballotThreadNV" "barrier"
348
+ "bfloat16BitsToIntEXT" "bfloat16BitsToUintEXT" "bitcastQCOM" "bitCount"
349
+ "bitfieldExtract" "bitfieldInsert" "bitfieldReverse" "ceil" "clamp"
350
+ "clockRealtime2x32EXT" "clockRealtimeEXT" "colorAttachmentReadEXT"
351
+ "ComputeAccessedLod" "controlBarrier" "coopMatLoad" "coopMatLoadNV"
352
+ "coopMatLoadTensorNV" "coopMatMulAdd" "coopMatMulAddNV" "coopMatPerElementNV"
353
+ "coopMatReduceNV" "coopMatStore" "coopMatStoreNV" "coopMatStoreTensorNV"
354
+ "coopmatToVectorQCOM" "coopMatTransposeNV" "coopVecLoadNV" "coopVecMatMulAddNV"
355
+ "coopVecMatMulNV" "coopVecOuterProductAccumulateNV" "coopVecReduceSumAccumulateNV"
356
+ "coopVecStoreNV" "cos" "cosh" "createTensorLayoutNV" "createTensorViewNV" "cross"
357
+ "debugPrintfEXT" "degrees" "depthAttachmentReadEXT" "determinant" "dFdx" "dFdxCoarse"
358
+ "dFdxFine" "dFdy" "dFdyCoarse" "dFdyFine" "distance" "dot" "dotAccSatEXT" "dotEXT"
359
+ "dotPacked4x8AccSatEXT" "dotPacked4x8EXT" "doubleBitsToInt64" "doubleBitsToUint64"
360
+ "EmitMeshTasksEXT" "EmitStreamVertex" "EmitVertex" "EndPrimitive" "EndStreamPrimitive"
361
+ "equal" "executeCallableEXT" "executeCallableNV" "exp" "exp2" "expectEXT"
362
+ "extractSubArrayQCOM" "faceforward" "fetchMicroTriangleVertexBarycentricNV"
363
+ "fetchMicroTriangleVertexPositionNV" "findLSB" "findMSB" "float16BitsToInt16"
364
+ "float16BitsToUint16" "floatBitsToInt" "floatBitsToUint" "floate4m3BitsToIntEXT"
365
+ "floate4m3BitsToUintEXT" "floate5m2BitsToIntEXT" "floate5m2BitsToUintEXT" "floor"
366
+ "fma" "fract" "fragmentFetchAMD" "fragmentMaskFetchAMD" "frexp" "ftransform" "fwidth"
367
+ "fwidthCoarse" "fwidthFine" "greaterThan" "greaterThanEqual" "groupMemoryBarrier"
368
+ "halfBitsToInt16" "halfBitsToUint16" "helperInvocationEXT" "hitObjectExecuteShaderEXT"
369
+ "hitObjectExecuteShaderNV" "hitObjectGetAttributesEXT" "hitObjectGetAttributesNV"
370
+ "hitObjectGetClusterIdNV" "hitObjectGetCurrentTimeEXT" "hitObjectGetCurrentTimeNV"
371
+ "hitObjectGetGeometryIndexEXT" "hitObjectGetGeometryIndexNV" "hitObjectGetHitKindEXT"
372
+ "hitObjectGetHitKindNV" "hitObjectGetInstanceCustomIndexEXT"
373
+ "hitObjectGetInstanceCustomIndexNV" "hitObjectGetInstanceIdEXT"
374
+ "hitObjectGetInstanceIdNV" "hitObjectGetIntersectionTriangleVertexPositionsEXT"
375
+ "hitObjectGetLSSPositionsNV" "hitObjectGetLSSRadiiNV"
376
+ "hitObjectGetObjectRayDirectionEXT" "hitObjectGetObjectRayDirectionNV"
377
+ "hitObjectGetObjectRayOriginEXT" "hitObjectGetObjectRayOriginNV"
378
+ "hitObjectGetObjectToWorldEXT" "hitObjectGetObjectToWorldNV"
379
+ "hitObjectGetPrimitiveIndexEXT" "hitObjectGetPrimitiveIndexNV"
380
+ "hitObjectGetRayFlagsEXT" "hitObjectGetRayTMaxEXT" "hitObjectGetRayTMaxNV"
381
+ "hitObjectGetRayTMinEXT" "hitObjectGetRayTMinNV"
382
+ "hitObjectGetShaderBindingTableRecordIndexEXT"
383
+ "hitObjectGetShaderBindingTableRecordIndexNV"
384
+ "hitObjectGetShaderRecordBufferHandleEXT" "hitObjectGetShaderRecordBufferHandleNV"
385
+ "hitObjectGetSpherePositionNV" "hitObjectGetSphereRadiusNV"
386
+ "hitObjectGetWorldRayDirectionEXT" "hitObjectGetWorldRayDirectionNV"
387
+ "hitObjectGetWorldRayOriginEXT" "hitObjectGetWorldRayOriginNV"
388
+ "hitObjectGetWorldToObjectEXT" "hitObjectGetWorldToObjectNV" "hitObjectIsEmptyEXT"
389
+ "hitObjectIsEmptyNV" "hitObjectIsHitEXT" "hitObjectIsHitNV" "hitObjectIsMissEXT"
390
+ "hitObjectIsMissNV" "hitObjectRecordEmptyEXT" "hitObjectRecordEmptyNV"
391
+ "hitObjectRecordFromQueryEXT" "hitObjectRecordHitMotionNV" "hitObjectRecordHitNV"
392
+ "hitObjectRecordHitWithIndexMotionNV" "hitObjectRecordHitWithIndexNV"
393
+ "hitObjectRecordMissEXT" "hitObjectRecordMissMotionEXT" "hitObjectRecordMissMotionNV"
394
+ "hitObjectRecordMissNV" "hitObjectReorderExecuteEXT"
395
+ "hitObjectSetShaderBindingTableRecordIndexEXT" "hitObjectTraceMotionReorderExecuteEXT"
396
+ "hitObjectTraceRayEXT" "hitObjectTraceRayMotionEXT" "hitObjectTraceRayMotionNV"
397
+ "hitObjectTraceRayNV" "hitObjectTraceReorderExecuteEXT" "ignoreIntersectionEXT"
398
+ "ignoreIntersectionNV" "imageAtomicAdd" "imageAtomicAnd" "imageAtomicCompSwap"
399
+ "imageAtomicExchange" "imageAtomicLoad" "imageAtomicMax" "imageAtomicMin"
400
+ "imageAtomicOr" "imageAtomicStore" "imageAtomicXor" "imageLoad" "imageSamples"
401
+ "imageSize" "imageStore" "imulExtended" "int16BitsToFloat16" "int16BitsToHalf"
402
+ "int64BitsToDouble" "intBitsToBFloat16EXT" "intBitsToFloat" "intBitsToFloate4m3EXT"
403
+ "intBitsToFloate5m2EXT" "interpolateAtCentroid" "interpolateAtOffset"
404
+ "interpolateAtSample" "interpolateAtVertexAMD" "inverse" "inversesqrt" "isinf" "isnan"
405
+ "ldexp" "length" "length64" "lessThan" "lessThanEqual" "log" "log2" "matrixCompMult"
406
+ "max" "max3" "memoryBarrier" "memoryBarrierAtomicCounter" "memoryBarrierBuffer"
407
+ "memoryBarrierImage" "memoryBarrierShared" "mid3" "min" "min3" "mix" "mod" "modf"
408
+ "noise1" "noise2" "noise3" "noise4" "normalize" "not" "notEqual" "outerProduct"
409
+ "pack16" "pack32" "pack64" "packDouble2x32" "packFloat2x16" "packHalf2x16"
410
+ "packInt2x16" "packInt2x32" "packInt4x16" "packSnorm2x16" "packSnorm4x8"
411
+ "packUint2x16" "packUint2x32" "packUint4x16" "packUnorm2x16" "packUnorm4x8" "pow"
412
+ "quadSwizzle0NV" "quadSwizzle1NV" "quadSwizzle2NV" "quadSwizzle3NV" "quadSwizzleXNV"
413
+ "quadSwizzleYNV" "radians" "rayQueryConfirmIntersectionEXT"
414
+ "rayQueryGenerateIntersectionEXT" "rayQueryGetIntersectionBarycentricsEXT"
415
+ "rayQueryGetIntersectionCandidateAABBOpaqueEXT" "rayQueryGetIntersectionClusterIdNV"
416
+ "rayQueryGetIntersectionFrontFaceEXT" "rayQueryGetIntersectionGeometryIndexEXT"
417
+ "rayQueryGetIntersectionInstanceCustomIndexEXT" "rayQueryGetIntersectionInstanceIdEXT"
418
+ "rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT"
419
+ "rayQueryGetIntersectionLSSHitValueNV" "rayQueryGetIntersectionLSSPositionsNV"
420
+ "rayQueryGetIntersectionLSSRadiiNV" "rayQueryGetIntersectionObjectRayDirectionEXT"
421
+ "rayQueryGetIntersectionObjectRayOriginEXT" "rayQueryGetIntersectionObjectToWorldEXT"
422
+ "rayQueryGetIntersectionPrimitiveIndexEXT" "rayQueryGetIntersectionSpherePositionNV"
423
+ "rayQueryGetIntersectionSphereRadiusNV" "rayQueryGetIntersectionTEXT"
424
+ "rayQueryGetIntersectionTriangleVertexPositionsEXT" "rayQueryGetIntersectionTypeEXT"
425
+ "rayQueryGetIntersectionWorldToObjectEXT" "rayQueryGetRayFlagsEXT"
426
+ "rayQueryGetRayTMinEXT" "rayQueryGetWorldRayDirectionEXT"
427
+ "rayQueryGetWorldRayOriginEXT" "rayQueryInitializeEXT" "rayQueryIsLSSHitNV"
428
+ "rayQueryIsSphereHitNV" "rayQueryProceedEXT" "rayQueryTerminateEXT" "reflect"
429
+ "refract" "reorderThreadEXT" "reorderThreadNV" "reportIntersectionEXT"
430
+ "reportIntersectionNV" "round" "roundEven" "saturatedConvertEXT" "SetMeshOutputsEXT"
431
+ "setTensorLayoutBlockSizeNV" "setTensorLayoutClampValueNV"
432
+ "setTensorLayoutDimensionNV" "setTensorLayoutStrideNV" "setTensorViewClipNV"
433
+ "setTensorViewDimensionsNV" "setTensorViewStrideNV" "shadow1D" "shadow1DLod"
434
+ "shadow1DProj" "shadow1DProjLod" "shadow2D" "shadow2DLod" "shadow2DProj"
435
+ "shadow2DProjLod" "sign" "sin" "sinh" "sliceTensorLayoutNV" "smoothstep" "sqrt"
436
+ "stencilAttachmentReadEXT" "step" "subgroupAdd" "subgroupAll" "subgroupAllEqual"
437
+ "subgroupAnd" "subgroupAny" "subgroupBallot" "subgroupBallotBitCount"
438
+ "subgroupBallotBitExtract" "subgroupBallotExclusiveBitCount" "subgroupBallotFindLSB"
439
+ "subgroupBallotFindMSB" "subgroupBallotInclusiveBitCount" "subgroupBarrier"
440
+ "subgroupBroadcast" "subgroupBroadcastFirst" "subgroupClusteredAdd"
441
+ "subgroupClusteredAnd" "subgroupClusteredMax" "subgroupClusteredMin"
442
+ "subgroupClusteredMul" "subgroupClusteredOr" "subgroupClusteredRotate"
443
+ "subgroupClusteredXor" "subgroupElect" "subgroupExclusiveAdd" "subgroupExclusiveAnd"
444
+ "subgroupExclusiveMax" "subgroupExclusiveMin" "subgroupExclusiveMul"
445
+ "subgroupExclusiveOr" "subgroupExclusiveXor" "subgroupInclusiveAdd"
446
+ "subgroupInclusiveAnd" "subgroupInclusiveMax" "subgroupInclusiveMin"
447
+ "subgroupInclusiveMul" "subgroupInclusiveOr" "subgroupInclusiveXor"
448
+ "subgroupInverseBallot" "subgroupMax" "subgroupMemoryBarrier"
449
+ "subgroupMemoryBarrierBuffer" "subgroupMemoryBarrierImage"
450
+ "subgroupMemoryBarrierShared" "subgroupMin" "subgroupMul" "subgroupOr"
451
+ "subgroupPartitionedAddNV" "subgroupPartitionedAndNV"
452
+ "subgroupPartitionedExclusiveAddNV" "subgroupPartitionedExclusiveAndNV"
453
+ "subgroupPartitionedExclusiveMaxNV" "subgroupPartitionedExclusiveMinNV"
454
+ "subgroupPartitionedExclusiveMulNV" "subgroupPartitionedExclusiveOrNV"
455
+ "subgroupPartitionedExclusiveXorNV" "subgroupPartitionedInclusiveAddNV"
456
+ "subgroupPartitionedInclusiveAndNV" "subgroupPartitionedInclusiveMaxNV"
457
+ "subgroupPartitionedInclusiveMinNV" "subgroupPartitionedInclusiveMulNV"
458
+ "subgroupPartitionedInclusiveOrNV" "subgroupPartitionedInclusiveXorNV"
459
+ "subgroupPartitionedMaxNV" "subgroupPartitionedMinNV" "subgroupPartitionedMulNV"
460
+ "subgroupPartitionedOrNV" "subgroupPartitionedXorNV" "subgroupPartitionNV"
461
+ "subgroupQuadBroadcast" "subgroupQuadSwapDiagonal" "subgroupQuadSwapHorizontal"
462
+ "subgroupQuadSwapVertical" "subgroupRotate" "subgroupShuffle" "subgroupShuffleDown"
463
+ "subgroupShuffleUp" "subgroupShuffleXor" "subgroupXor" "tan" "tanh" "tensorReadARM"
464
+ "tensorSizeARM" "tensorWriteARM" "terminateRayEXT" "terminateRayNV" "texelFetch"
465
+ "texelFetchOffset" "texture" "texture1D" "texture1DLod" "texture1DProj"
466
+ "texture1DProjLod" "texture2D" "texture2DLod" "texture2DProj" "texture2DProjLod"
467
+ "texture3D" "texture3DLod" "texture3DProj" "texture3DProjLod"
468
+ "textureBlockMatchGatherSADQCOM" "textureBlockMatchGatherSSDQCOM"
469
+ "textureBlockMatchSADQCOM" "textureBlockMatchSSDQCOM" "textureBlockMatchWindowSADQCOM"
470
+ "textureBlockMatchWindowSSDQCOM" "textureBoxFilterQCOM" "textureCube" "textureCubeLod"
471
+ "textureFootprintClampNV" "textureFootprintGradClampNV" "textureFootprintGradNV"
472
+ "textureFootprintLodNV" "textureFootprintNV" "textureGather" "textureGatherOffset"
473
+ "textureGatherOffsets" "textureGrad" "textureGradOffset" "textureLod"
474
+ "textureLodOffset" "textureOffset" "textureProj" "textureProjGrad"
475
+ "textureProjGradOffset" "textureProjLod" "textureProjLodOffset" "textureProjOffset"
476
+ "textureQueryLevels" "textureQueryLod" "textureSamples" "textureSize"
477
+ "textureWeightedQCOM" "traceNV" "traceRayEXT" "traceRayMotionNV" "transpose" "trunc"
478
+ "uaddCarry" "uint16BitsToFloat16" "uint16BitsToHalf" "uint64BitsToDouble"
479
+ "uintBitsToBFloat16EXT" "uintBitsToFloat" "uintBitsToFloate4m3EXT"
480
+ "uintBitsToFloate5m2EXT" "umulExtended" "unpack16" "unpack32" "unpack8"
481
+ "unpackDouble2x32" "unpackFloat2x16" "unpackHalf2x16" "unpackInt2x16" "unpackInt2x32"
482
+ "unpackInt4x16" "unpackSnorm2x16" "unpackSnorm4x8" "unpackUint2x16" "unpackUint2x32"
483
+ "unpackUint4x16" "unpackUnorm2x16" "unpackUnorm4x8" "usubBorrow" "vectorToCoopmatQCOM"
484
+ "writePackedPrimitiveIndices4x8NV"))
485
+
486
+ (identifier) @variable
@@ -0,0 +1,5 @@
1
+ (multilingual_cpp_code_block) @injection.content
2
+ (#set! injection.language "cpp")
3
+
4
+ (multilingual_c_code_block) @injection.content
5
+ (#set! injection.language "c")
@@ -0,0 +1,34 @@
1
+ ; Scopes
2
+
3
+ (translation_unit) @local.scope
4
+ (function_definition) @local.scope
5
+ (compound_statement) @local.scope
6
+ (if_statement) @local.scope
7
+ (switch_statement) @local.scope
8
+ (while_statement) @local.scope
9
+ (do_statement) @local.scope
10
+ (for_statement) @local.scope
11
+
12
+ ; Definitions
13
+
14
+ (function_declarator
15
+ name: (identifier) @local.definition)
16
+
17
+ (parameter_declaration
18
+ name: (identifier) @local.definition)
19
+
20
+ (declarator
21
+ name: (identifier) @local.definition)
22
+
23
+ (condition
24
+ name: (identifier) @local.definition)
25
+
26
+ (declaration
27
+ instance_name: (identifier) @local.definition)
28
+
29
+ ; References
30
+
31
+ (identifier) @local.reference
32
+
33
+ (function_call
34
+ function: (identifier) @local.reference)
@@ -0,0 +1,50 @@
1
+ ; Types
2
+
3
+ (struct_specifier
4
+ name: (identifier) @name) @definition.class
5
+
6
+ (declaration
7
+ name: (identifier) @name
8
+ (field_declaration_list)) @definition.class
9
+
10
+ ; Functions
11
+
12
+ (function_declarator
13
+ name: (identifier) @name) @definition.function
14
+
15
+ (function_call
16
+ function: (identifier) @name) @reference.call
17
+
18
+ (function_call
19
+ function: (field_expression
20
+ field: (field_identifier) @name)) @reference.call
21
+
22
+ ; Variables and constants
23
+
24
+ (declaration
25
+ (declarator_list
26
+ (declarator
27
+ name: (identifier) @name))) @definition.variable
28
+
29
+ (declaration
30
+ instance_name: (identifier) @name) @definition.variable
31
+
32
+ (declaration
33
+ (precision_qualifier)
34
+ (type_specifier
35
+ (type_identifier) @name)) @reference.type
36
+
37
+ ; Type references
38
+
39
+ (type
40
+ (type_specifier
41
+ (type_identifier) @name)) @reference.type
42
+
43
+ (parameter_declaration
44
+ type: (type_specifier
45
+ (type_identifier) @name)) @reference.type
46
+
47
+ (declarator
48
+ (type
49
+ (type_specifier
50
+ (type_identifier) @name))) @reference.type