From bb08527d8cace2950aecc49c232a99bf36e16b2b Mon Sep 17 00:00:00 2001 From: Sergey Tikhomirov Date: Sat, 7 Jul 2012 12:22:51 +0300 Subject: Initial commit --- syntax/glsl.vim | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 syntax/glsl.vim (limited to 'syntax') diff --git a/syntax/glsl.vim b/syntax/glsl.vim new file mode 100644 index 0000000..71c099e --- /dev/null +++ b/syntax/glsl.vim @@ -0,0 +1,63 @@ +" Vim syntax file +" Language: OpenGL Shading Language +" Maintainer: Sergey Tikhomirov +" URL: +" Last Change: 2012 July 7 + +if exists("b:current_syntax") + finish +endif + +" Statements +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 + +" 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 + +" Boolean Constants +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\+" + +" 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\+" + +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 glslNumber +hi def link glslOctalInt glslNumber +hi def link glslHexInt glslNumber +hi def link glslNumber Number +hi def link glslFloat Float + +let b:current_syntax = "glsl" + +" vim:set sw=2: -- cgit v1.2.3