(glsl|vert|frag|prog)
commentDoxygen
/\*(\*|!)
\*/
comment
/\*
\*/
preprocesseur
#[ \t]*if 0
#(endif|else)
preprocesseur
#(.|\\[\\\n])*$
commentDoxygen
//!(.|\\[\\\n])*$
SYNTAX_ERROR
//[ \t]*TODO[ \t]*:(.|\\[\\\n])*$
comment
//(.|\\[\\\n])*$
keyword
\@return|goto|if|else|case|default|switch|break|continue|while|do|for|sizeof\@
type
\@void|bool|float|int|(vec|mat|ivec|bvec)[2-4]\@
storageKeyword
\@varying|uniform|attribute|precision|mediump\@
number
\@((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?\@
boolean
\@true|false\@
macro
\@[A-Z_][A-Z_0-9]{3,500}\@
functionName
\@(\w|_)+[ \t]*\(
boolean
==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\}