'/* Vertex shader */' Comment.Multiline
'\n\n'        Text.Whitespace

'// Macro inside a single-line comment: #define COMMENT_MACRO 1' Comment.Single
'\n\n'        Text.Whitespace

'/* Macro inside a block comment: #define COMMENT_MACRO 2 */' Comment.Multiline
'\n\n    '    Text.Whitespace
'# define INDENTED_MACRO 5.0' Comment.Preproc
'\n\n'        Text.Whitespace

'#define SINGLELINE_MACRO 10.0' Comment.Preproc
'\n\n'        Text.Whitespace

'#define MULTILINE_MACRO(a, b) vec2( \\\n    a, \\\n    b \\\n)' Comment.Preproc
'\n\n'        Text.Whitespace

'uniform'     Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'waveTime'    Name
';'           Punctuation
'\n'          Text.Whitespace

'uniform'     Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'waveWidth'   Name
';'           Punctuation
'\n'          Text.Whitespace

'uniform'     Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'waveHeight'  Name
';'           Punctuation
'\n \n'       Text.Whitespace

'void'        Keyword.Type
' '           Text.Whitespace
'main'        Name
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n    '      Text.Whitespace
'vec4'        Keyword.Type
' '           Text.Whitespace
'v'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'vec4'        Keyword.Type
'('           Punctuation
'gl_Vertex'   Name.Builtin
')'           Punctuation
';'           Punctuation
'\n\n    '    Text.Whitespace
'v'           Name
'.'           Punctuation
'z'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'sin'         Name
'('           Punctuation
'waveWidth'   Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'v'           Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'waveTime'    Name
')'           Punctuation
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'cos'         Name
'('           Punctuation
'waveWidth'   Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'v'           Name
'.'           Punctuation
'y'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'waveTime'    Name
')'           Punctuation
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'waveHeight'  Name
';'           Punctuation
'\n\n    '    Text.Whitespace
'gl_Position' Name.Builtin
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'gl_ModelViewProjectionMatrix' Name.Builtin
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'v'           Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace
