From b3a30ec9cdac1655084e5cef2d2f80d7592b3a15 Mon Sep 17 00:00:00 2001 From: Sergey Tikhomirov Date: Sun, 2 Mar 2014 16:13:52 +0200 Subject: Update syntax highlighting --- syntax/glsl.vim | 814 +++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 603 insertions(+), 211 deletions(-) (limited to 'syntax') diff --git a/syntax/glsl.vim b/syntax/glsl.vim index 2b9a0df..e80ad60 100644 --- a/syntax/glsl.vim +++ b/syntax/glsl.vim @@ -6,256 +6,648 @@ if exists("b:current_syntax") && b:current_syntax == "glsl" endif " Statements -syn keyword glslConditional if else -syn keyword glslRepeat for while do -syn keyword glslStatement discard return break continue +syn keyword glslConditional if else +syn keyword glslRepeat for while do +syn keyword glslStatement discard return break continue " Comments -syn keyword glslTodo contained TODO FIXME XXX -syn region glslCommentL start="//" skip="\\$" end="$" keepend contains=glslTodo -syn region glslComment matchgroup=glslCommentStart start="/\*" end="\*/" extend contains=glslTodo +syn keyword glslTodo contained TODO FIXME XXX +syn region glslCommentL start="//" skip="\\$" end="$" keepend contains=glslTodo +syn region glslComment matchgroup=glslCommentStart start="/\*" end="\*/" extend contains=glslTodo " 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 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 " Boolean Constants -syn keyword glslBoolean true false +syn keyword glslBoolean true false " Integer Numbers -syn match glslDecimalInt display "\(0\|[1-9]\d*\)" -syn match glslOctalInt display "0\o\+" -syn match glslHexInt display "0[xX]\x\+" +syn match glslDecimalInt display "\(0\|[1-9]\d*\)" +syn match glslOctalInt display "0\o\+" +syn match glslHexInt display "0[xX]\x\+" " Float Numbers -syn match glslFloat display "\d\+\.\([eE][+-]\=\d\+\)\=" -syn match glslFloat display "\.\d\+\([eE][+-]\=\d\+\)\=" -syn match glslFloat display "\d\+[eE][+-]\=\d\+" -syn match glslFloat display "\d\+\.\d\+\([eE][+-]\=\d\+\)\=" +syn match glslFloat display "\d\+\.\([eE][+-]\=\d\+\)\=" +syn match glslFloat display "\.\d\+\([eE][+-]\=\d\+\)\=" +syn match glslFloat display "\d\+[eE][+-]\=\d\+" +syn match glslFloat display "\d\+\.\d\+\([eE][+-]\=\d\+\)\=" " Swizzles -syn match glslSwizzle display /\.[xyzw]\{1,4\}\>/ -syn match glslSwizzle display /\.[rgba]\{1,4\}\>/ -syn match glslSwizzle display /\.[stpq]\{1,4\}\>/ +syn match glslSwizzle display /\.[xyzw]\{1,4\}\>/ +syn match glslSwizzle display /\.[rgba]\{1,4\}\>/ +syn match glslSwizzle display /\.[stpq]\{1,4\}\>/ -" Types +" Structure syn keyword glslStructure struct -syn keyword glslType atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 -syn keyword glslType dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 -syn keyword glslType dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray -syn keyword glslType iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect -syn keyword glslType iimage3D iimageBuffer iimageCube iimageCubeArray image1D -syn keyword glslType image1DArray image2D image2DArray image2DMS image2DMSArray -syn keyword glslType image2DRect image3D imageBuffer imageCube imageCubeArray int -syn keyword glslType isampler1D isampler1DArray isampler2D isampler2DArray -syn keyword glslType isampler2DMS isampler2DMSArray isampler2DRect isampler3D -syn keyword glslType isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 -syn keyword glslType ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 -syn keyword glslType mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray -syn keyword glslType sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray -syn keyword glslType sampler2DArrayShadow sampler2DMS sampler2DMSArray -syn keyword glslType sampler2DMSArray sampler2DRect sampler2DRectShadow -syn keyword glslType sampler2DShadow sampler3D samplerBuffer samplerCube -syn keyword glslType samplerCubeArray samplerCubeArrayShadow samplerCubeShadow -syn keyword glslType uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS -syn keyword glslType uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube -syn keyword glslType uimageCubeArray uint usampler1D usampler1DArray usampler2D -syn keyword glslType usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect -syn keyword glslType usampler3D usamplerBuffer usamplerCube usamplerCubeArray -syn keyword glslType uvec2 uvec3 uvec4 vec2 vec3 vec4 void - -" Qualifiers -syn keyword glslQualifier precision invariant -syn keyword glslQualifier attribute binding ccw centroid column_major const -syn keyword glslQualifier cw depth_any depth_greater depth_less depth_unchanged -syn keyword glslQualifier early_fragment_tests equal_spacing flat -syn keyword glslQualifier fractional_even_spacing fractional_odd_spacing highp -syn keyword glslQualifier in index inout invocations isolines layout line_strip -syn keyword glslQualifier lines lines_adjacency location lowp max_vertices -syn keyword glslQualifier mediump noperspective offset origin_upper_left -syn keyword glslQualifier origin_upper_left out packed patch pixel_center_integer -syn keyword glslQualifier point_mode points quads r11f_g11f_b10f r16 r16_snorm -syn keyword glslQualifier r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i -syn keyword glslQualifier r8ui rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i -syn keyword glslQualifier rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui -syn keyword glslQualifier rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f -syn keyword glslQualifier rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui -syn keyword glslQualifier row_major sample shared smooth std140 stream -syn keyword glslQualifier triangle_strip triangles triangles_adjacency uniform varying -syn keyword glslQualifier coherent volatile restrict readonly writeonly -" These functions were taken from the 4.20 version of the GLSL specification, -" found at -" http://www.opengl.org/registry/doc/GLSLangSpec.4.20.11.clean.pdf +" This prevents numbers at ends of identifies from being highlighted as numbers +syn match glslIdentifier display "\I\i*" -" 8.1 Angle and Trigonometry Functions -syn keyword glslBuiltinFunction radians degrees sin cos tan asin acos atan -syn keyword glslBuiltinFunction sinh cosh tanh asinh acosh atanh -" 8.2 Exponential Functions -syn keyword glslBuiltinFunction pow exp log exp2 log2 sqrt inversesqrt -" 8.3 Common Functions -syn keyword glslBuiltinFunction abs sign floor trunc round roundEven ceil -syn keyword glslBuiltinFunction fract mod modf min max clamp mix step -syn keyword glslBuiltinFunction smoothstep isnan isinf floatBitsToInt -syn keyword glslBuiltinFunction floatBitsToUint intBitsToFloat uintBitsToFloat -syn keyword glslBuiltinFunction fma frexp ldexp -" 8.4 Floating-Point Pack and Unpack Functions -syn keyword glslBuiltinFunction packUnorm2x16 packSnorm2x16 packUnorm4x8 -syn keyword glslBuiltinFunction packSnorm4x8 unpackUnorm2x16 unpackSnorm2x16 -syn keyword glslBuiltinFunction unpackUnorm4x8 unpackSnorm4x8 packDouble2x32 -syn keyword glslBuiltinFunction unpackDouble2x32 packHalf2x16 unpackHalf2x16 -" 8.5 Geometric Functions -syn keyword glslBuiltinFunction length distance dot cross normalize faceforward -syn keyword glslBuiltinFunction reflect refract -" 8.6 Matrix Functions -syn keyword glslBuiltinFunction matrixCompMult outerProduct transpose -syn keyword glslBuiltinFunction determinant -syn keyword glslBuiltinFunction inverse -" 8.7 Vector Relational Functions -syn keyword glslBuiltinFunction lessThan lessThanEqual greaterThan -syn keyword glslBuiltinFunction greaterThanEqual -syn keyword glslBuiltinFunction equal notEqual any all not -" 8.8 Integer Functions -syn keyword glslBuiltinFunction uaddCarry usubBorrow umulExtended imulExtended -syn keyword glslBuiltinFunction bitfieldExtract bitfieldInsert bitfieldReverse -syn keyword glslBuiltinFunction bitCount findLSB findMSB -" 8.9.1 Texture Query Functions -syn keyword glslBuiltinFunction textureSize textureQueryLod -" 8.9.2 Texel Lookup Functions -syn keyword glslBuiltinFunction texture textureProj textureLod textureOffset -syn keyword glslBuiltinFunction texelFetch texelFetchOffset textureProjOffset -syn keyword glslBuiltinFunction textureLodOffset textureProjLod -syn keyword glslBuiltinFunction textureProjLodOffset textureGrad -syn keyword glslBuiltinFunction textureGradOffset textureProjGrad -syn keyword glslBuiltinFunction textureProjGradOffset -" 8.9.3 Texture Gather Instructions -syn keyword glslBuiltinFunction textureGather textureGatherOffset -syn keyword glslBuiltinFunction textureGatherOffsets -" 8.10 Atomic-Counter Functions -syn keyword glslBuiltinFunction atomicCounterIncrement atomicCounterDecrement -syn keyword glslBuiltinFunction atomicCounter -" 8.11 Image Functions -syn keyword glslBuiltinFunction imageLoad imageStore imageAtomicAdd -syn keyword glslBuiltinFunction imageAtomicMin imageAtomicMax imageAtomicAnd -syn keyword glslBuiltinFunction imageAtomicOr imageAtomicXor -syn keyword glslBuiltinFunction imageAtomicExchange imageAtomicCompSwap -" 8.12.1 Derivative Functions -syn keyword glslBuiltinFunction dFdx dFdy fwidth -" 8.12.2 Interpolation Functions -syn keyword glslBuiltinFunction interpolateAtCentroid interpolateAtSample -syn keyword glslBuiltinFunction interpolateAtOffset -" 8.13 Noise Functions -syn keyword glslBuiltinFunction noise1 noise2 noise3 noise4 -" 8.14 Geometry Shader Functions -syn keyword glslBuiltinFunction EmitStreamVertex EndStreamPrimitive EmitVertex -syn keyword glslBuiltinFunction EndPrimitive -" 8.15 Shader Invocation Control Functions -syn keyword glslBuiltinFunction barrier -" 8.16 Shader Memory Control Function -syn keyword glslBuiltinFunction memoryBarrier +" Types +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 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 -" 7.1 Built-in Variables -syn keyword glslBuiltinVariable gl_VertexID gl_InstanceID gl_Position -syn keyword glslBuiltinVariable gl_PointSize gl_ClipDistance gl_in -syn keyword glslBuiltinVariable gl_PrimitiveIDIn gl_InvocationID -syn keyword glslBuiltinVariable gl_PrimitiveID gl_Layer gl_ViewportIndex -syn keyword glslBuiltinVariable gl_PatchVerticesIn gl_out gl_TessLevelOuter -syn keyword glslBuiltinVariable gl_TessLevelInner gl_TessCoord gl_FragCoord -syn keyword glslBuiltinVariable gl_FrontFacing gl_PointCoord gl_SampleID -syn keyword glslBuiltinVariable gl_SamplePosition gl_SampleMaskIn gl_FragDepth -syn keyword glslBuiltinVariable gl_SampleMask -" 7.4 Built-In Uniform State -" TODO Perhaps add highlighting for gl_DepthRange.near, or for -" gl_DepthRangeParameters. -syn keyword glslBuiltinVariable gl_DepthRange gl_NumSamples +" Qualifiers +syn keyword glslQualifier attribute +syn keyword glslQualifier binding +syn keyword glslQualifier buffer +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 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 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 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 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 -" 7.3 Built-in Constants -syn keyword glslBuiltinConstant gl_MaxVertexAttribs gl_MaxUniformComponents -syn keyword glslBuiltinConstant gl_MaxVaryingComponents -syn keyword glslBuiltinConstant gl_MaxVertexOutputComponents -syn keyword glslBuiltinConstant gl_MaxGeometryInputComponents -syn keyword glslBuiltinConstant gl_MaxGeometryOutputComponents -syn keyword glslBuiltinConstant gl_MaxFragmentInputComponents -syn keyword glslBuiltinConstant gl_MaxVertexTextureImageUnits -syn keyword glslBuiltinConstant gl_MaxCombinedTextureImageUnits -syn keyword glslBuiltinConstant gl_MaxTextureImageUnits gl_MaxImageUnits +" Built-in Constants +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_MaxCombinedImageUniforms syn keyword glslBuiltinConstant gl_MaxCombinedImageUnitsAndFragmentOutputs -syn keyword glslBuiltinConstant gl_MaxImageSamples gl_MaxVertexImageUniforms -syn keyword glslBuiltinConstant gl_MaxTessControlImageUniforms -syn keyword glslBuiltinConstant gl_MaxTessEvaluationImageUniforms -syn keyword glslBuiltinConstant gl_MaxGeometryImageUniforms +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_MaxDrawBuffers +syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounterBuffers +syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounters syn keyword glslBuiltinConstant gl_MaxFragmentImageUniforms -syn keyword glslBuiltinConstant gl_MaxCombinedImageUniforms +syn keyword glslBuiltinConstant gl_MaxFragmentInputComponents +syn keyword glslBuiltinConstant gl_MaxFragmentInputVectors syn keyword glslBuiltinConstant gl_MaxFragmentUniformComponents -syn keyword glslBuiltinConstant gl_MaxDrawBuffers gl_MaxClipDistances -syn keyword glslBuiltinConstant gl_MaxGeometryTextureImageUnits +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_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_MaxTessControlUniformComponents 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_MaxTessEvaluationTotalOutputComponents -syn keyword glslBuiltinConstant gl_MaxTessPatchComponents gl_MaxPatchVertices syn keyword glslBuiltinConstant gl_MaxTessGenLevel -syn keyword glslBuiltinConstant gl_MaxViewports -syn keyword glslBuiltinConstant gl_MaxVertexUniformVectors -syn keyword glslBuiltinConstant gl_MaxFragmentUniformVectors +syn keyword glslBuiltinConstant gl_MaxTessPatchComponents +syn keyword glslBuiltinConstant gl_MaxTextureCoords +syn keyword glslBuiltinConstant gl_MaxTextureImageUnits +syn keyword glslBuiltinConstant gl_MaxTextureUnits +syn keyword glslBuiltinConstant gl_MaxVaryingComponents +syn keyword glslBuiltinConstant gl_MaxVaryingFloats syn keyword glslBuiltinConstant gl_MaxVaryingVectors -syn keyword glslBuiltinConstant gl_MaxVertexAtomicCounters -syn keyword glslBuiltinConstant gl_MaxTessControlAtomicCounters -syn keyword glslBuiltinConstant gl_MaxTessEvaluationAtomicCounters -syn keyword glslBuiltinConstant gl_MaxGeometryAtomicCounters -syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounters -syn keyword glslBuiltinConstant gl_MaxCombinedAtomicCounters syn keyword glslBuiltinConstant gl_MaxVertexAtomicCounterBuffers -syn keyword glslBuiltinConstant gl_MaxTessControlAtomicCounterBuffers -syn keyword glslBuiltinConstant gl_MaxGeometryAtomicCounterBuffers -syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounterBuffers -syn keyword glslBuiltinConstant gl_MaxCombinedAtomicCounterBuffers -syn keyword glslBuiltinConstant gl_MaxAtomicCounterBufferSize +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_MaxProgramTexelOffset -" This prevents numbers at ends of identifies from being highlighted as -" numbers. -syn match glslIdentifier display "\I\i*" +" 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_GlobalInvocationID +syn keyword glslBuiltinVariable gl_InstanceID +syn keyword glslBuiltinVariable gl_InvocationID +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_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_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_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_ViewportIndex +syn keyword glslBuiltinVariable gl_WorkGroupID +syn keyword glslBuiltinVariable gl_WorkGroupSize +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 dFdy +syn keyword glslBuiltinFunction degrees +syn keyword glslBuiltinFunction determinant +syn keyword glslBuiltinFunction distance +syn keyword glslBuiltinFunction dot +syn keyword glslBuiltinFunction equal +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 greaterThan +syn keyword glslBuiltinFunction greaterThanEqual +syn keyword glslBuiltinFunction groupMemoryBarrier +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 reflect +syn keyword glslBuiltinFunction refract +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 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 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 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 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 SpecialChar +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 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 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 SpecialChar if !exists("b:current_syntax") let b:current_syntax = "glsl" -- cgit v1.2.3