Mercurial > vim
changeset 35772:7e7d0a798ee5 v9.1.0610
patch 9.1.0610: filetype: OpenGL Shading Language files are not detected
Commit: https://github.com/vim/vim/commit/e4b991ed36f96dd01c6d75e46a04fd1a99180e58
Author: Gregory Anders <greg@gpanders.com>
Date: Mon Jul 22 20:33:48 2024 +0200
patch 9.1.0610: filetype: OpenGL Shading Language files are not detected
Problem: filetype: OpenGL Shading Language files are not detected
Solution: detect various file extensions as GLSL filetype, include
indent and syntax script, do no longer recognize '*.comp'
as Mason filetype (Gregory Anders)
closes: #15317
Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 22 Jul 2024 20:45:04 +0200 |
parents | c11d4492be45 |
children | b4b14e0955b8 |
files | .github/MAINTAINERS runtime/filetype.vim runtime/indent/glsl.vim runtime/syntax/glsl.vim src/testdir/test_filetype.vim src/version.c |
diffstat | 6 files changed, 777 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -306,6 +306,7 @@ runtime/indent/freebasic.vim @dkearns runtime/indent/gdscript.vim @habamax runtime/indent/gitconfig.vim @tpope runtime/indent/gitolite.vim @sitaramc +runtime/indent/glsl.vim @gpanders runtime/indent/go.vim @dbarnett runtime/indent/gyp.vim @ObserverOfTime runtime/indent/haml.vim @tpope @@ -439,6 +440,7 @@ runtime/syntax/gitconfig.vim @tpope runtime/syntax/gitignore.vim @ObserverOfTime runtime/syntax/gitolite.vim @sitaramc runtime/syntax/gitrebase.vim @tpope +runtime/syntax/glsl.vim @gpanders runtime/syntax/go.vim @bhcleek runtime/syntax/godoc.vim @dbarnett runtime/syntax/gp.vim @KBelabas
--- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -915,7 +915,9 @@ au BufNewFile,BufRead gkrellmrc,gkrellmr au BufNewFile,BufRead *.gleam setf gleam " GLSL -au BufNewFile,BufRead *.glsl setf glsl +" Extensions supported by Khronos reference compiler (with one exception, ".glsl") +" https://github.com/KhronosGroup/glslang +au BufNewFile,BufRead *.vert,*.tesc,*.tese,*.glsl,*.geom,*.frag,*.comp,*.rgen,*.rmiss,*.rchit,*.rahit,*.rint,*.rcall setf glsl " GN (generate ninja) files au BufNewFile,BufRead *.gn,*.gni setf gn @@ -1414,8 +1416,8 @@ au BufNewFile,BufRead *.markdown,*.mdown \ setf markdown | \ endif -" Mason -au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason +" Mason (it used to include *.comp, are those Mason files?) +au BufNewFile,BufRead *.mason,*.mhtml setf mason " Mathematica, Matlab, Murphi, Objective C or Octave au BufNewFile,BufRead *.m call dist#ft#FTm()
new file mode 100644 --- /dev/null +++ b/runtime/indent/glsl.vim @@ -0,0 +1,14 @@ +" Language: OpenGL Shading Language +" Maintainer: Gregory Anders <greg@gpanders.com> +" Last Modified: 2024 Jul 21 +" Upstream: https://github.com/tikhomirov/vim-glsl + +if exists('b:did_indent') + finish +endif +let b:did_indent = 1 + +setlocal autoindent cindent +setlocal cinoptions& + +let b:undo_indent = 'setl ai< ci< cino<'
new file mode 100644 --- /dev/null +++ b/runtime/syntax/glsl.vim @@ -0,0 +1,752 @@ +" Language: OpenGL Shading Language +" Maintainer: Gregory Anders <greg@gpanders.com> +" Last Modified: 2024 Jul 21 +" Upstream: https://github.com/tikhomirov/vim-glsl + +if exists('b:current_syntax') + finish +endif + +" Statements +syn keyword glslConditional if else switch case default +syn keyword glslRepeat for while do +syn keyword glslStatement discard return break continue + +" Comments +syn keyword glslTodo contained TODO FIXME XXX NOTE +syn region glslCommentL start="//" skip="\\$" end="$" keepend contains=glslTodo,@Spell +syn region glslComment matchgroup=glslCommentStart start="/\*" end="\*/" extend contains=glslTodo,@Spell + +" Preprocessor +syn region glslPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|else\|elif\|endif\)" skip="\\$" end="$" keepend +syn region glslDefine start="^\s*#\s*\(define\|undef\)" skip="\\$" end="$" keepend +syn keyword glslTokenConcat ## +syn keyword glslPredefinedMacro __LINE__ __FILE__ __VERSION__ GL_ES +syn region glslPreProc start="^\s*#\s*\(error\|pragma\|extension\|version\|line\)" skip="\\$" end="$" keepend +syn region glslInclude start="^\s*#\s*include" skip="\\$" end="$" keepend + +" Folding Blocks +syn region glslCurlyBlock start="{" end="}" transparent fold +syn region glslParenBlock start="(" end=")" transparent fold + +" Boolean Constants +syn keyword glslBoolean true false + +" Integer Numbers +syn match glslDecimalInt display "\<\(0\|[1-9]\d*\)[uU]\?" +syn match glslOctalInt display "\<0\o\+[uU]\?" +syn match glslHexInt display "\<0[xX]\x\+[uU]\?" + +" Float Numbers +syn match glslFloat display "\<\d\+\.\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\=" +syn match glslFloat display "\<\.\d\+\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\=" +syn match glslFloat display "\<\d\+[eE][+-]\=\d\+\(lf\|LF\|f\|F\)\=" +syn match glslFloat display "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\=" + +" Swizzles +syn match glslSwizzle display /\.[xyzw]\{1,4\}\>/ +syn match glslSwizzle display /\.[rgba]\{1,4\}\>/ +syn match glslSwizzle display /\.[stpq]\{1,4\}\>/ + +" Structure +syn keyword glslStructure struct nextgroup=glslIdentifier skipwhite skipempty + +syn match glslIdentifier contains=glslIdentifierPrime "\%([a-zA-Z_]\)\%([a-zA-Z0-9_]\)*" display contained + +" Types +syn keyword glslType accelerationStructureEXT +syn keyword glslType atomic_uint +syn keyword glslType bool +syn keyword glslType bvec2 +syn keyword glslType bvec3 +syn keyword glslType bvec4 +syn keyword glslType dmat2 +syn keyword glslType dmat2x2 +syn keyword glslType dmat2x3 +syn keyword glslType dmat2x4 +syn keyword glslType dmat3 +syn keyword glslType dmat3x2 +syn keyword glslType dmat3x3 +syn keyword glslType dmat3x4 +syn keyword glslType dmat4 +syn keyword glslType dmat4x2 +syn keyword glslType dmat4x3 +syn keyword glslType dmat4x4 +syn keyword glslType double +syn keyword glslType dvec2 +syn keyword glslType dvec3 +syn keyword glslType dvec4 +syn keyword glslType float +syn keyword glslType iimage1D +syn keyword glslType iimage1DArray +syn keyword glslType iimage2D +syn keyword glslType iimage2DArray +syn keyword glslType iimage2DMS +syn keyword glslType iimage2DMSArray +syn keyword glslType iimage2DRect +syn keyword glslType iimage3D +syn keyword glslType iimageBuffer +syn keyword glslType iimageCube +syn keyword glslType iimageCubeArray +syn keyword glslType image1D +syn keyword glslType image1DArray +syn keyword glslType image2D +syn keyword glslType image2DArray +syn keyword glslType image2DMS +syn keyword glslType image2DMSArray +syn keyword glslType image2DRect +syn keyword glslType image3D +syn keyword glslType imageBuffer +syn keyword glslType imageCube +syn keyword glslType imageCubeArray +syn keyword glslType int +syn keyword glslType isampler1D +syn keyword glslType isampler1DArray +syn keyword glslType isampler2D +syn keyword glslType isampler2DArray +syn keyword glslType isampler2DMS +syn keyword glslType isampler2DMSArray +syn keyword glslType isampler2DRect +syn keyword glslType isampler3D +syn keyword glslType isamplerBuffer +syn keyword glslType isamplerCube +syn keyword glslType isamplerCubeArray +syn keyword glslType ivec2 +syn keyword glslType ivec3 +syn keyword glslType ivec4 +syn keyword glslType mat2 +syn keyword glslType mat2x2 +syn keyword glslType mat2x3 +syn keyword glslType mat2x4 +syn keyword glslType mat3 +syn keyword glslType mat3x2 +syn keyword glslType mat3x3 +syn keyword glslType mat3x4 +syn keyword glslType mat4 +syn keyword glslType mat4x2 +syn keyword glslType mat4x3 +syn keyword glslType mat4x4 +syn keyword glslType rayQueryEXT +syn keyword glslType sampler1D +syn keyword glslType sampler1DArray +syn keyword glslType sampler1DArrayShadow +syn keyword glslType sampler1DShadow +syn keyword glslType sampler2D +syn keyword glslType sampler2DArray +syn keyword glslType sampler2DArrayShadow +syn keyword glslType sampler2DMS +syn keyword glslType sampler2DMSArray +syn keyword glslType sampler2DRect +syn keyword glslType sampler2DRectShadow +syn keyword glslType sampler2DShadow +syn keyword glslType sampler3D +syn keyword glslType samplerBuffer +syn keyword glslType samplerCube +syn keyword glslType samplerCubeArray +syn keyword glslType samplerCubeArrayShadow +syn keyword glslType samplerCubeShadow +syn keyword glslType uimage1D +syn keyword glslType uimage1DArray +syn keyword glslType uimage2D +syn keyword glslType uimage2DArray +syn keyword glslType uimage2DMS +syn keyword glslType uimage2DMSArray +syn keyword glslType uimage2DRect +syn keyword glslType uimage3D +syn keyword glslType uimageBuffer +syn keyword glslType uimageCube +syn keyword glslType uimageCubeArray +syn keyword glslType uint +syn keyword glslType usampler1D +syn keyword glslType usampler1DArray +syn keyword glslType usampler2D +syn keyword glslType usampler2DArray +syn keyword glslType usampler2DMS +syn keyword glslType usampler2DMSArray +syn keyword glslType usampler2DRect +syn keyword glslType usampler3D +syn keyword glslType usamplerBuffer +syn keyword glslType usamplerCube +syn keyword glslType usamplerCubeArray +syn keyword glslType uvec2 +syn keyword glslType uvec3 +syn keyword glslType uvec4 +syn keyword glslType vec2 +syn keyword glslType vec3 +syn keyword glslType vec4 +syn keyword glslType void + +" Qualifiers +syn keyword glslQualifier align +syn keyword glslQualifier attribute +syn keyword glslQualifier binding +syn keyword glslQualifier buffer +syn keyword glslQualifier callableDataEXT +syn keyword glslQualifier callableDataInEXT +syn keyword glslQualifier ccw +syn keyword glslQualifier centroid +syn keyword glslQualifier centroid varying +syn keyword glslQualifier coherent +syn keyword glslQualifier column_major +syn keyword glslQualifier const +syn keyword glslQualifier cw +syn keyword glslQualifier depth_any +syn keyword glslQualifier depth_greater +syn keyword glslQualifier depth_less +syn keyword glslQualifier depth_unchanged +syn keyword glslQualifier early_fragment_tests +syn keyword glslQualifier equal_spacing +syn keyword glslQualifier flat +syn keyword glslQualifier fractional_even_spacing +syn keyword glslQualifier fractional_odd_spacing +syn keyword glslQualifier highp +syn keyword glslQualifier hitAttributeEXT +syn keyword glslQualifier in +syn keyword glslQualifier index +syn keyword glslQualifier inout +syn keyword glslQualifier invariant +syn keyword glslQualifier invocations +syn keyword glslQualifier isolines +syn keyword glslQualifier layout +syn keyword glslQualifier line_strip +syn keyword glslQualifier lines +syn keyword glslQualifier lines_adjacency +syn keyword glslQualifier local_size_x +syn keyword glslQualifier local_size_y +syn keyword glslQualifier local_size_z +syn keyword glslQualifier location +syn keyword glslQualifier lowp +syn keyword glslQualifier max_vertices +syn keyword glslQualifier mediump +syn keyword glslQualifier nonuniformEXT +syn keyword glslQualifier noperspective +syn keyword glslQualifier offset +syn keyword glslQualifier origin_upper_left +syn keyword glslQualifier out +syn keyword glslQualifier packed +syn keyword glslQualifier patch +syn keyword glslQualifier pixel_center_integer +syn keyword glslQualifier point_mode +syn keyword glslQualifier points +syn keyword glslQualifier precise +syn keyword glslQualifier precision +syn keyword glslQualifier quads +syn keyword glslQualifier r11f_g11f_b10f +syn keyword glslQualifier r16 +syn keyword glslQualifier r16_snorm +syn keyword glslQualifier r16f +syn keyword glslQualifier r16i +syn keyword glslQualifier r16ui +syn keyword glslQualifier r32f +syn keyword glslQualifier r32i +syn keyword glslQualifier r32ui +syn keyword glslQualifier r8 +syn keyword glslQualifier r8_snorm +syn keyword glslQualifier r8i +syn keyword glslQualifier r8ui +syn keyword glslQualifier rayPayloadEXT +syn keyword glslQualifier rayPayloadInEXT +syn keyword glslQualifier readonly +syn keyword glslQualifier restrict +syn keyword glslQualifier rg16 +syn keyword glslQualifier rg16_snorm +syn keyword glslQualifier rg16f +syn keyword glslQualifier rg16i +syn keyword glslQualifier rg16ui +syn keyword glslQualifier rg32f +syn keyword glslQualifier rg32i +syn keyword glslQualifier rg32ui +syn keyword glslQualifier rg8 +syn keyword glslQualifier rg8_snorm +syn keyword glslQualifier rg8i +syn keyword glslQualifier rg8ui +syn keyword glslQualifier rgb10_a2 +syn keyword glslQualifier rgb10_a2ui +syn keyword glslQualifier rgba16 +syn keyword glslQualifier rgba16_snorm +syn keyword glslQualifier rgba16f +syn keyword glslQualifier rgba16i +syn keyword glslQualifier rgba16ui +syn keyword glslQualifier rgba32f +syn keyword glslQualifier rgba32i +syn keyword glslQualifier rgba32ui +syn keyword glslQualifier rgba8 +syn keyword glslQualifier rgba8_snorm +syn keyword glslQualifier rgba8i +syn keyword glslQualifier rgba8ui +syn keyword glslQualifier row_major +syn keyword glslQualifier sample +syn keyword glslQualifier shaderRecordEXT +syn keyword glslQualifier shared +syn keyword glslQualifier smooth +syn keyword glslQualifier std140 +syn keyword glslQualifier std430 +syn keyword glslQualifier stream +syn keyword glslQualifier triangle_strip +syn keyword glslQualifier triangles +syn keyword glslQualifier triangles_adjacency +syn keyword glslQualifier uniform +syn keyword glslQualifier varying +syn keyword glslQualifier vertices +syn keyword glslQualifier volatile +syn keyword glslQualifier writeonly +syn keyword glslQualifier xfb_buffer +syn keyword glslQualifier xfb_offset +syn keyword glslQualifier xfb_stride + +" Built-in Constants +syn keyword glslBuiltinConstant gl_CullDistance +syn keyword glslBuiltinConstant gl_HitKindBackFacingTriangleEXT +syn keyword glslBuiltinConstant gl_HitKindFrontFacingTriangleEXT +syn keyword glslBuiltinConstant gl_MaxAtomicCounterBindings +syn keyword glslBuiltinConstant gl_MaxAtomicCounterBufferSize +syn keyword glslBuiltinConstant gl_MaxClipDistances +syn keyword glslBuiltinConstant gl_MaxClipPlanes +syn keyword glslBuiltinConstant gl_MaxCombinedAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxCombinedAtomicCounters +syn keyword glslBuiltinConstant gl_MaxCombinedClipAndCullDistances +syn keyword glslBuiltinConstant gl_MaxCombinedImageUniforms +syn keyword glslBuiltinConstant gl_MaxCombinedImageUnitsAndFragmentOutputs +syn keyword glslBuiltinConstant gl_MaxCombinedShaderOutputResources +syn keyword glslBuiltinConstant gl_MaxCombinedTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxComputeAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxComputeAtomicCounters +syn keyword glslBuiltinConstant gl_MaxComputeImageUniforms +syn keyword glslBuiltinConstant gl_MaxComputeTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxComputeUniformComponents +syn keyword glslBuiltinConstant gl_MaxComputeWorkGroupCount +syn keyword glslBuiltinConstant gl_MaxComputeWorkGroupSize +syn keyword glslBuiltinConstant gl_MaxCullDistances +syn keyword glslBuiltinConstant gl_MaxDrawBuffers +syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounters +syn keyword glslBuiltinConstant gl_MaxFragmentImageUniforms +syn keyword glslBuiltinConstant gl_MaxFragmentInputComponents +syn keyword glslBuiltinConstant gl_MaxFragmentInputVectors +syn keyword glslBuiltinConstant gl_MaxFragmentUniformComponents +syn keyword glslBuiltinConstant gl_MaxFragmentUniformVectors +syn keyword glslBuiltinConstant gl_MaxGeometryAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxGeometryAtomicCounters +syn keyword glslBuiltinConstant gl_MaxGeometryImageUniforms +syn keyword glslBuiltinConstant gl_MaxGeometryInputComponents +syn keyword glslBuiltinConstant gl_MaxGeometryOutputComponents +syn keyword glslBuiltinConstant gl_MaxGeometryOutputVertices +syn keyword glslBuiltinConstant gl_MaxGeometryTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxGeometryTotalOutputComponents +syn keyword glslBuiltinConstant gl_MaxGeometryUniformComponents +syn keyword glslBuiltinConstant gl_MaxGeometryVaryingComponents +syn keyword glslBuiltinConstant gl_MaxImageSamples +syn keyword glslBuiltinConstant gl_MaxImageUnits +syn keyword glslBuiltinConstant gl_MaxLights +syn keyword glslBuiltinConstant gl_MaxPatchVertices +syn keyword glslBuiltinConstant gl_MaxProgramTexelOffset +syn keyword glslBuiltinConstant gl_MaxSamples +syn keyword glslBuiltinConstant gl_MaxTessControlAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxTessControlAtomicCounters +syn keyword glslBuiltinConstant gl_MaxTessControlImageUniforms +syn keyword glslBuiltinConstant gl_MaxTessControlInputComponents +syn keyword glslBuiltinConstant gl_MaxTessControlOutputComponents +syn keyword glslBuiltinConstant gl_MaxTessControlTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxTessControlTotalOutputComponents +syn keyword glslBuiltinConstant gl_MaxTessControlUniformComponents +syn keyword glslBuiltinConstant gl_MaxTessEvaluationAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxTessEvaluationAtomicCounters +syn keyword glslBuiltinConstant gl_MaxTessEvaluationImageUniforms +syn keyword glslBuiltinConstant gl_MaxTessEvaluationInputComponents +syn keyword glslBuiltinConstant gl_MaxTessEvaluationOutputComponents +syn keyword glslBuiltinConstant gl_MaxTessEvaluationTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxTessEvaluationUniformComponents +syn keyword glslBuiltinConstant gl_MaxTessGenLevel +syn keyword glslBuiltinConstant gl_MaxTessPatchComponents +syn keyword glslBuiltinConstant gl_MaxTextureCoords +syn keyword glslBuiltinConstant gl_MaxTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxTextureUnits +syn keyword glslBuiltinConstant gl_MaxTransformFeedbackBuffers +syn keyword glslBuiltinConstant gl_MaxTransformFeedbackInterleavedComponents +syn keyword glslBuiltinConstant gl_MaxVaryingComponents +syn keyword glslBuiltinConstant gl_MaxVaryingFloats +syn keyword glslBuiltinConstant gl_MaxVaryingVectors +syn keyword glslBuiltinConstant gl_MaxVertexAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxVertexAtomicCounters +syn keyword glslBuiltinConstant gl_MaxVertexAttribs +syn keyword glslBuiltinConstant gl_MaxVertexImageUniforms +syn keyword glslBuiltinConstant gl_MaxVertexOutputComponents +syn keyword glslBuiltinConstant gl_MaxVertexOutputVectors +syn keyword glslBuiltinConstant gl_MaxVertexTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxVertexUniformComponents +syn keyword glslBuiltinConstant gl_MaxVertexUniformVectors +syn keyword glslBuiltinConstant gl_MaxViewports +syn keyword glslBuiltinConstant gl_MinProgramTexelOffset +syn keyword glslBuiltinConstant gl_RayFlagsCullBackFacingTrianglesEXT +syn keyword glslBuiltinConstant gl_RayFlagsCullFrontFacingTrianglesEXT +syn keyword glslBuiltinConstant gl_RayFlagsCullNoOpaqueEXT +syn keyword glslBuiltinConstant gl_RayFlagsCullOpaqueEXT +syn keyword glslBuiltinConstant gl_RayFlagsNoOpaqueEXT +syn keyword glslBuiltinConstant gl_RayFlagsNoneEXT +syn keyword glslBuiltinConstant gl_RayFlagsOpaqueEXT +syn keyword glslBuiltinConstant gl_RayFlagsSkipClosestHitShaderEXT +syn keyword glslBuiltinConstant gl_RayFlagsTerminateOnFirstHitEXT +syn keyword glslBuiltinConstant gl_RayQueryCandidateIntersectionAABBEXT +syn keyword glslBuiltinConstant gl_RayQueryCandidateIntersectionTriangleEXT +syn keyword glslBuiltinConstant gl_RayQueryCommittedIntersectionGeneratedEXT +syn keyword glslBuiltinConstant gl_RayQueryCommittedIntersectionNoneEXT +syn keyword glslBuiltinConstant gl_RayQueryCommittedIntersectionTriangleEXT + +" Built-in Variables +syn keyword glslBuiltinVariable gl_BackColor +syn keyword glslBuiltinVariable gl_BackLightModelProduct +syn keyword glslBuiltinVariable gl_BackLightProduct +syn keyword glslBuiltinVariable gl_BackLightProduct +syn keyword glslBuiltinVariable gl_BackMaterial +syn keyword glslBuiltinVariable gl_BackSecondaryColor +syn keyword glslBuiltinVariable gl_ClipDistance +syn keyword glslBuiltinVariable gl_ClipPlane +syn keyword glslBuiltinVariable gl_ClipVertex +syn keyword glslBuiltinVariable gl_Color +syn keyword glslBuiltinVariable gl_DepthRange +syn keyword glslBuiltinVariable gl_EyePlaneQ +syn keyword glslBuiltinVariable gl_EyePlaneR +syn keyword glslBuiltinVariable gl_EyePlaneS +syn keyword glslBuiltinVariable gl_EyePlaneT +syn keyword glslBuiltinVariable gl_Fog +syn keyword glslBuiltinVariable gl_FogCoord +syn keyword glslBuiltinVariable gl_FogFragCoord +syn keyword glslBuiltinVariable gl_FragColor +syn keyword glslBuiltinVariable gl_FragCoord +syn keyword glslBuiltinVariable gl_FragData +syn keyword glslBuiltinVariable gl_FragDepth +syn keyword glslBuiltinVariable gl_FrontColor +syn keyword glslBuiltinVariable gl_FrontFacing +syn keyword glslBuiltinVariable gl_FrontLightModelProduct +syn keyword glslBuiltinVariable gl_FrontLightProduct +syn keyword glslBuiltinVariable gl_FrontMaterial +syn keyword glslBuiltinVariable gl_FrontSecondaryColor +syn keyword glslBuiltinVariable gl_GeometryIndexEXT +syn keyword glslBuiltinVariable gl_GlobalInvocationID +syn keyword glslBuiltinVariable gl_HelperInvocation +syn keyword glslBuiltinVariable gl_HitKindEXT +syn keyword glslBuiltinVariable gl_HitTEXT +syn keyword glslBuiltinVariable gl_IncomingRayFlagsEXT +syn keyword glslBuiltinVariable gl_InstanceCustomIndexEXT +syn keyword glslBuiltinVariable gl_InstanceID +syn keyword glslBuiltinVariable gl_InstanceID +syn keyword glslBuiltinVariable gl_InvocationID +syn keyword glslBuiltinVariable gl_LaunchIDEXT +syn keyword glslBuiltinVariable gl_LaunchSizeEXT +syn keyword glslBuiltinVariable gl_Layer +syn keyword glslBuiltinVariable gl_LightModel +syn keyword glslBuiltinVariable gl_LightSource +syn keyword glslBuiltinVariable gl_LocalInvocationID +syn keyword glslBuiltinVariable gl_LocalInvocationIndex +syn keyword glslBuiltinVariable gl_ModelViewMatrix +syn keyword glslBuiltinVariable gl_ModelViewMatrixInverse +syn keyword glslBuiltinVariable gl_ModelViewMatrixInverseTranspose +syn keyword glslBuiltinVariable gl_ModelViewMatrixTranspose +syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrix +syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrixInverse +syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrixInverseTranspose +syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrixTranspose +syn keyword glslBuiltinVariable gl_MultiTexCoord0 +syn keyword glslBuiltinVariable gl_MultiTexCoord1 +syn keyword glslBuiltinVariable gl_MultiTexCoord2 +syn keyword glslBuiltinVariable gl_MultiTexCoord3 +syn keyword glslBuiltinVariable gl_MultiTexCoord4 +syn keyword glslBuiltinVariable gl_MultiTexCoord5 +syn keyword glslBuiltinVariable gl_MultiTexCoord6 +syn keyword glslBuiltinVariable gl_MultiTexCoord7 +syn keyword glslBuiltinVariable gl_Normal +syn keyword glslBuiltinVariable gl_NormalMatrix +syn keyword glslBuiltinVariable gl_NormalScale +syn keyword glslBuiltinVariable gl_NumSamples +syn keyword glslBuiltinVariable gl_NumWorkGroups +syn keyword glslBuiltinVariable gl_ObjectPlaneQ +syn keyword glslBuiltinVariable gl_ObjectPlaneR +syn keyword glslBuiltinVariable gl_ObjectPlaneS +syn keyword glslBuiltinVariable gl_ObjectPlaneT +syn keyword glslBuiltinVariable gl_ObjectRayDirectionEXT +syn keyword glslBuiltinVariable gl_ObjectRayOriginEXT +syn keyword glslBuiltinVariable gl_ObjectToWorld3x4EXT +syn keyword glslBuiltinVariable gl_ObjectToWorldEXT +syn keyword glslBuiltinVariable gl_PatchVerticesIn +syn keyword glslBuiltinVariable gl_Point +syn keyword glslBuiltinVariable gl_PointCoord +syn keyword glslBuiltinVariable gl_PointSize +syn keyword glslBuiltinVariable gl_Position +syn keyword glslBuiltinVariable gl_PrimitiveID +syn keyword glslBuiltinVariable gl_PrimitiveID +syn keyword glslBuiltinVariable gl_PrimitiveIDIn +syn keyword glslBuiltinVariable gl_ProjectionMatrix +syn keyword glslBuiltinVariable gl_ProjectionMatrixInverse +syn keyword glslBuiltinVariable gl_ProjectionMatrixInverseTranspose +syn keyword glslBuiltinVariable gl_ProjectionMatrixTranspose +syn keyword glslBuiltinVariable gl_RayTmaxEXT +syn keyword glslBuiltinVariable gl_RayTminEXT +syn keyword glslBuiltinVariable gl_SampleID +syn keyword glslBuiltinVariable gl_SampleMask +syn keyword glslBuiltinVariable gl_SampleMaskIn +syn keyword glslBuiltinVariable gl_SamplePosition +syn keyword glslBuiltinVariable gl_SecondaryColor +syn keyword glslBuiltinVariable gl_TessCoord +syn keyword glslBuiltinVariable gl_TessLevelInner +syn keyword glslBuiltinVariable gl_TessLevelOuter +syn keyword glslBuiltinVariable gl_TexCoord +syn keyword glslBuiltinVariable gl_TextureEnvColor +syn keyword glslBuiltinVariable gl_TextureMatrix +syn keyword glslBuiltinVariable gl_TextureMatrixInverse +syn keyword glslBuiltinVariable gl_TextureMatrixInverseTranspose +syn keyword glslBuiltinVariable gl_TextureMatrixTranspose +syn keyword glslBuiltinVariable gl_Vertex +syn keyword glslBuiltinVariable gl_VertexID +syn keyword glslBuiltinVariable gl_VertexIndex +syn keyword glslBuiltinVariable gl_ViewportIndex +syn keyword glslBuiltinVariable gl_WorkGroupID +syn keyword glslBuiltinVariable gl_WorkGroupSize +syn keyword glslBuiltinVariable gl_WorldRayDirectionEXT +syn keyword glslBuiltinVariable gl_WorldRayOriginEXT +syn keyword glslBuiltinVariable gl_WorldToObject3x4EXT +syn keyword glslBuiltinVariable gl_WorldToObjectEXT +syn keyword glslBuiltinVariable gl_in +syn keyword glslBuiltinVariable gl_out + +" Built-in Functions +syn keyword glslBuiltinFunction EmitStreamVertex +syn keyword glslBuiltinFunction EmitVertex +syn keyword glslBuiltinFunction EndPrimitive +syn keyword glslBuiltinFunction EndStreamPrimitive +syn keyword glslBuiltinFunction abs +syn keyword glslBuiltinFunction acos +syn keyword glslBuiltinFunction acosh +syn keyword glslBuiltinFunction all +syn keyword glslBuiltinFunction any +syn keyword glslBuiltinFunction asin +syn keyword glslBuiltinFunction asinh +syn keyword glslBuiltinFunction atan +syn keyword glslBuiltinFunction atanh +syn keyword glslBuiltinFunction atomicAdd +syn keyword glslBuiltinFunction atomicAnd +syn keyword glslBuiltinFunction atomicCompSwap +syn keyword glslBuiltinFunction atomicCounter +syn keyword glslBuiltinFunction atomicCounterDecrement +syn keyword glslBuiltinFunction atomicCounterIncrement +syn keyword glslBuiltinFunction atomicExchange +syn keyword glslBuiltinFunction atomicMax +syn keyword glslBuiltinFunction atomicMin +syn keyword glslBuiltinFunction atomicOr +syn keyword glslBuiltinFunction atomicXor +syn keyword glslBuiltinFunction barrier +syn keyword glslBuiltinFunction bitCount +syn keyword glslBuiltinFunction bitfieldExtract +syn keyword glslBuiltinFunction bitfieldInsert +syn keyword glslBuiltinFunction bitfieldReverse +syn keyword glslBuiltinFunction ceil +syn keyword glslBuiltinFunction clamp +syn keyword glslBuiltinFunction cos +syn keyword glslBuiltinFunction cosh +syn keyword glslBuiltinFunction cross +syn keyword glslBuiltinFunction dFdx +syn keyword glslBuiltinFunction dFdxCoarse +syn keyword glslBuiltinFunction dFdxFine +syn keyword glslBuiltinFunction dFdy +syn keyword glslBuiltinFunction dFdyCoarse +syn keyword glslBuiltinFunction dFdyFine +syn keyword glslBuiltinFunction degrees +syn keyword glslBuiltinFunction determinant +syn keyword glslBuiltinFunction distance +syn keyword glslBuiltinFunction dot +syn keyword glslBuiltinFunction equal +syn keyword glslBuiltinFunction executeCallableEXT +syn keyword glslBuiltinFunction exp +syn keyword glslBuiltinFunction exp2 +syn keyword glslBuiltinFunction faceforward +syn keyword glslBuiltinFunction findLSB +syn keyword glslBuiltinFunction findMSB +syn keyword glslBuiltinFunction floatBitsToInt +syn keyword glslBuiltinFunction floatBitsToUint +syn keyword glslBuiltinFunction floor +syn keyword glslBuiltinFunction fma +syn keyword glslBuiltinFunction fract +syn keyword glslBuiltinFunction frexp +syn keyword glslBuiltinFunction ftransform +syn keyword glslBuiltinFunction fwidth +syn keyword glslBuiltinFunction fwidthCoarse +syn keyword glslBuiltinFunction fwidthFine +syn keyword glslBuiltinFunction greaterThan +syn keyword glslBuiltinFunction greaterThanEqual +syn keyword glslBuiltinFunction groupMemoryBarrier +syn keyword glslBuiltinFunction ignoreIntersectionEXT +syn keyword glslBuiltinFunction imageAtomicAdd +syn keyword glslBuiltinFunction imageAtomicAnd +syn keyword glslBuiltinFunction imageAtomicCompSwap +syn keyword glslBuiltinFunction imageAtomicExchange +syn keyword glslBuiltinFunction imageAtomicMax +syn keyword glslBuiltinFunction imageAtomicMin +syn keyword glslBuiltinFunction imageAtomicOr +syn keyword glslBuiltinFunction imageAtomicXor +syn keyword glslBuiltinFunction imageLoad +syn keyword glslBuiltinFunction imageSize +syn keyword glslBuiltinFunction imageStore +syn keyword glslBuiltinFunction imulExtended +syn keyword glslBuiltinFunction intBitsToFloat +syn keyword glslBuiltinFunction interpolateAtCentroid +syn keyword glslBuiltinFunction interpolateAtOffset +syn keyword glslBuiltinFunction interpolateAtSample +syn keyword glslBuiltinFunction inverse +syn keyword glslBuiltinFunction inversesqrt +syn keyword glslBuiltinFunction isinf +syn keyword glslBuiltinFunction isnan +syn keyword glslBuiltinFunction ldexp +syn keyword glslBuiltinFunction length +syn keyword glslBuiltinFunction lessThan +syn keyword glslBuiltinFunction lessThanEqual +syn keyword glslBuiltinFunction log +syn keyword glslBuiltinFunction log2 +syn keyword glslBuiltinFunction matrixCompMult +syn keyword glslBuiltinFunction max +syn keyword glslBuiltinFunction memoryBarrier +syn keyword glslBuiltinFunction memoryBarrierAtomicCounter +syn keyword glslBuiltinFunction memoryBarrierBuffer +syn keyword glslBuiltinFunction memoryBarrierImage +syn keyword glslBuiltinFunction memoryBarrierShared +syn keyword glslBuiltinFunction min +syn keyword glslBuiltinFunction mix +syn keyword glslBuiltinFunction mod +syn keyword glslBuiltinFunction modf +syn keyword glslBuiltinFunction noise1 +syn keyword glslBuiltinFunction noise2 +syn keyword glslBuiltinFunction noise3 +syn keyword glslBuiltinFunction noise4 +syn keyword glslBuiltinFunction normalize +syn keyword glslBuiltinFunction not +syn keyword glslBuiltinFunction notEqual +syn keyword glslBuiltinFunction outerProduct +syn keyword glslBuiltinFunction packDouble2x32 +syn keyword glslBuiltinFunction packHalf2x16 +syn keyword glslBuiltinFunction packSnorm2x16 +syn keyword glslBuiltinFunction packSnorm4x8 +syn keyword glslBuiltinFunction packUnorm2x16 +syn keyword glslBuiltinFunction packUnorm4x8 +syn keyword glslBuiltinFunction pow +syn keyword glslBuiltinFunction radians +syn keyword glslBuiltinFunction rayQueryConfirmIntersectionEXT +syn keyword glslBuiltinFunction rayQueryGenerateIntersectionEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionBarycentricsEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionCandidateAABBOpaqueEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionFrontFaceEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionGeometryIndexEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionInstanceCustomIndexEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionInstanceIdEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionObjectRayDirectionEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionObjectRayOriginEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionObjectToWorldEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionPrimitiveIndexEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionTEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionTypeEXT +syn keyword glslBuiltinFunction rayQueryGetIntersectionWorldToObjectEXT +syn keyword glslBuiltinFunction rayQueryGetRayFlagsEXT +syn keyword glslBuiltinFunction rayQueryGetRayTMinEXT +syn keyword glslBuiltinFunction rayQueryGetWorldRayDirectionEXT +syn keyword glslBuiltinFunction rayQueryGetWorldRayOriginEXT +syn keyword glslBuiltinFunction rayQueryInitializeEXT +syn keyword glslBuiltinFunction rayQueryProceedEXT +syn keyword glslBuiltinFunction rayQueryTerminateEXT +syn keyword glslBuiltinFunction reflect +syn keyword glslBuiltinFunction refract +syn keyword glslBuiltinFunction reportIntersectionEXT +syn keyword glslBuiltinFunction round +syn keyword glslBuiltinFunction roundEven +syn keyword glslBuiltinFunction shadow1D +syn keyword glslBuiltinFunction shadow1DLod +syn keyword glslBuiltinFunction shadow1DProj +syn keyword glslBuiltinFunction shadow1DProjLod +syn keyword glslBuiltinFunction shadow2D +syn keyword glslBuiltinFunction shadow2DLod +syn keyword glslBuiltinFunction shadow2DProj +syn keyword glslBuiltinFunction shadow2DProjLod +syn keyword glslBuiltinFunction sign +syn keyword glslBuiltinFunction sin +syn keyword glslBuiltinFunction sinh +syn keyword glslBuiltinFunction smoothstep +syn keyword glslBuiltinFunction sqrt +syn keyword glslBuiltinFunction step +syn keyword glslBuiltinFunction tan +syn keyword glslBuiltinFunction tanh +syn keyword glslBuiltinFunction terminateRayEXT +syn keyword glslBuiltinFunction texelFetch +syn keyword glslBuiltinFunction texelFetchOffset +syn keyword glslBuiltinFunction texture +syn keyword glslBuiltinFunction texture1D +syn keyword glslBuiltinFunction texture1DLod +syn keyword glslBuiltinFunction texture1DProj +syn keyword glslBuiltinFunction texture1DProjLod +syn keyword glslBuiltinFunction texture2D +syn keyword glslBuiltinFunction texture2DLod +syn keyword glslBuiltinFunction texture2DProj +syn keyword glslBuiltinFunction texture2DProjLod +syn keyword glslBuiltinFunction texture3D +syn keyword glslBuiltinFunction texture3DLod +syn keyword glslBuiltinFunction texture3DProj +syn keyword glslBuiltinFunction texture3DProjLod +syn keyword glslBuiltinFunction textureCube +syn keyword glslBuiltinFunction textureCubeLod +syn keyword glslBuiltinFunction textureGather +syn keyword glslBuiltinFunction textureGatherOffset +syn keyword glslBuiltinFunction textureGatherOffsets +syn keyword glslBuiltinFunction textureGrad +syn keyword glslBuiltinFunction textureGradOffset +syn keyword glslBuiltinFunction textureLod +syn keyword glslBuiltinFunction textureLodOffset +syn keyword glslBuiltinFunction textureOffset +syn keyword glslBuiltinFunction textureProj +syn keyword glslBuiltinFunction textureProjGrad +syn keyword glslBuiltinFunction textureProjGradOffset +syn keyword glslBuiltinFunction textureProjLod +syn keyword glslBuiltinFunction textureProjLodOffset +syn keyword glslBuiltinFunction textureProjOffset +syn keyword glslBuiltinFunction textureQueryLevels +syn keyword glslBuiltinFunction textureQueryLod +syn keyword glslBuiltinFunction textureSize +syn keyword glslBuiltinFunction traceRayEXT +syn keyword glslBuiltinFunction transpose +syn keyword glslBuiltinFunction trunc +syn keyword glslBuiltinFunction uaddCarry +syn keyword glslBuiltinFunction uintBitsToFloat +syn keyword glslBuiltinFunction umulExtended +syn keyword glslBuiltinFunction unpackDouble2x32 +syn keyword glslBuiltinFunction unpackHalf2x16 +syn keyword glslBuiltinFunction unpackSnorm2x16 +syn keyword glslBuiltinFunction unpackSnorm4x8 +syn keyword glslBuiltinFunction unpackUnorm2x16 +syn keyword glslBuiltinFunction unpackUnorm4x8 +syn keyword glslBuiltinFunction usubBorrow + +hi def link glslConditional Conditional +hi def link glslRepeat Repeat +hi def link glslStatement Statement +hi def link glslTodo Todo +hi def link glslCommentL glslComment +hi def link glslCommentStart glslComment +hi def link glslComment Comment +hi def link glslPreCondit PreCondit +hi def link glslDefine Define +hi def link glslTokenConcat glslPreProc +hi def link glslPredefinedMacro Macro +hi def link glslPreProc PreProc +hi def link glslInclude Include +hi def link glslBoolean Boolean +hi def link glslDecimalInt glslInteger +hi def link glslOctalInt glslInteger +hi def link glslHexInt glslInteger +hi def link glslInteger Number +hi def link glslFloat Float +hi def link glslIdentifierPrime glslIdentifier +hi def link glslIdentifier Identifier +hi def link glslStructure Structure +hi def link glslType Type +hi def link glslQualifier StorageClass +hi def link glslBuiltinConstant Constant +hi def link glslBuiltinFunction Function +hi def link glslBuiltinVariable Identifier +hi def link glslSwizzle Identifier + +let b:current_syntax = 'glsl'
--- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -295,7 +295,7 @@ def s:GetFilenameChecks(): dict<list<str gitsendemail: ['.gitsendemail.msg.xxxxxx'], gkrellmrc: ['gkrellmrc', 'gkrellmrc_x'], gleam: ['file.gleam'], - glsl: ['file.glsl'], + glsl: ['file.glsl', 'file.vert', 'file.tesc', 'file.tese', 'file.geom', 'file.frag', 'file.comp', 'file.rgen', 'file.rmiss', 'file.rchit', 'file.rahit', 'file.rint', 'file.rcall'], gn: ['file.gn', 'file.gni'], gnash: ['gnashrc', '.gnashrc', 'gnashpluginrc', '.gnashpluginrc'], gnuplot: ['file.gpi', '.gnuplot', 'file.gnuplot', '.gnuplot_history'], @@ -433,7 +433,7 @@ def s:GetFilenameChecks(): dict<list<str map: ['file.map'], maple: ['file.mv', 'file.mpl', 'file.mws'], markdown: ['file.markdown', 'file.mdown', 'file.mkd', 'file.mkdn', 'file.mdwn', 'file.md'], - mason: ['file.mason', 'file.mhtml', 'file.comp'], + mason: ['file.mason', 'file.mhtml'], master: ['file.mas', 'file.master'], matlab: ['file.m'], maxima: ['file.demo', 'file.dmt', 'file.dm1', 'file.dm2', 'file.dm3',