diff options
Diffstat (limited to 'syntax')
| -rw-r--r-- | syntax/glsl.vim | 67 |
1 files changed, 48 insertions, 19 deletions
diff --git a/syntax/glsl.vim b/syntax/glsl.vim index 71c099e..cb10031 100644 --- a/syntax/glsl.vim +++ b/syntax/glsl.vim @@ -9,35 +9,62 @@ if exists("b:current_syntax") 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 "\(0\|[1-9]\d*\)" -syn match glslOctalInt "0\o\+" -syn match glslHexInt "0[xX]\x\+" +syn match glslDecimalInt "\(0\|[1-9]\d*\)" +syn match glslOctalInt "0\o\+" +syn match glslHexInt "0[xX]\x\+" " Float Numbers -syn match glslFloat "\d\+\.\d\+\([eE][+-]\=\d\+\)\=" -syn match glslFloat "\d\+\.\([eE][+-]\=\d\+\)\=" -syn match glslFloat "\.\d\+\([eE][+-]\=\d\+\)\=" -syn match glslFloat "\d\+[eE][+-]\=\d\+" +syn match glslFloat "\d\+\.\d\+\([eE][+-]\=\d\+\)\=" +syn match glslFloat "\d\+\.\([eE][+-]\=\d\+\)\=" +syn match glslFloat "\.\d\+\([eE][+-]\=\d\+\)\=" +syn match glslFloat "\d\+[eE][+-]\=\d\+" + +" Types +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 + hi def link glslConditional Conditional hi def link glslRepeat Repeat @@ -57,6 +84,8 @@ hi def link glslOctalInt glslNumber hi def link glslHexInt glslNumber hi def link glslNumber Number hi def link glslFloat Float +hi def link glslStructure Structure +hi def link glslType Type let b:current_syntax = "glsl" |
