'form' Keyword ' ' Text.Whitespace 'Highlighter test' Literal.String '\n ' Text.Whitespace '# This is a regular comment' Comment.Single '\n ' Text.Whitespace 'sentence' Keyword ' ' Text.Whitespace 'Blank' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'sentence' Keyword ' ' Text.Whitespace 'My_sentence' Literal.String ' ' Text.Whitespace 'This should all be a string' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'text' Keyword ' ' Text.Whitespace 'My_text' Literal.String ' ' Text.Whitespace 'This should also all be a string' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'word' Keyword ' ' Text.Whitespace 'My_word' Text ' ' Text.Whitespace 'Only' Text ' ' Text.Whitespace 'the first word is a string, the rest is discarded' Text '\n ' Text.Whitespace 'boolean' Keyword ' Binary ' Text.Whitespace '1' Name.Variable '\n ' Text.Whitespace 'boolean' Keyword ' Text ' Text.Whitespace 'no' Name.Variable '\n ' Text.Whitespace 'boolean' Keyword ' Quoted ' Text.Whitespace '"yes"' Name.Variable '\n ' Text.Whitespace 'comment' Keyword ' ' Text.Whitespace 'This should be a string' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'optionmenu' Keyword ' ' Text.Whitespace 'Drop-down' Text ':' Punctuation ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'option' Keyword ' ' Text.Whitespace 'Foo' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'option' Keyword ' ' Text.Whitespace '100' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'choice' Keyword ' ' Text.Whitespace 'Radio' Text ':' Punctuation ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'option' Keyword ' ' Text.Whitespace 'Foo' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'option' Keyword ' ' Text.Whitespace '100' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'real' Keyword ' left_Range ' Text.Whitespace '-' Operator '123.6' Literal.Number '\n ' Text.Whitespace 'positive' Keyword ' right_Range_max ' Text.Whitespace '3.3' Literal.Number '\n ' Text.Whitespace 'integer' Keyword ' Int ' Text.Whitespace '4' Literal.Number '\n ' Text.Whitespace 'natural' Keyword ' Nat ' Text.Whitespace '4' Literal.Number '\n' Text.Whitespace 'endform' Keyword '\n\n' Text.Whitespace 'beginPause' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Highlighter test' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'sentence' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Blank' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'sentence' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'My sentence' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'This should all be a string' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'text' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'My text' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'This should also all be a string' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'word' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'My word' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Only the first word is a string, the rest is discarded' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'boolean' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Binary' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'comment' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'This should be a string' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'optionMenu' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Drop-down' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'option' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Foo' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'option' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String '100' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'choice' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Choice' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'option' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Foo' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'option' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String '100' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'real' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'left Range' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '-' Operator '123.6' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'positive' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'right Range max' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '3.3' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'integer' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Int' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '4' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'natural' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Nat' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '4' Literal.Number '\n' Text.Whitespace 'button' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'endPause' Name.Function '(' Punctuation '"' Literal.String 'Cancel' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'OK' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '1' Literal.Number ',' Punctuation ' ' Text.Whitespace '2' Literal.Number ')' Punctuation '\n\n' Text.Whitespace '# Periods do not establish boundaries for keywords' Comment.Single '\n' Text.Whitespace 'form.var' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '10' Literal.Number '\n' Text.Whitespace '# Or operators' Comment.Single '\n' Text.Whitespace 'not.an.operator$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'Bad variable name' Literal.String '"' Literal.String '\n' Text.Whitespace 'bad.or.not' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number '\n\n' Text.Whitespace '# External scripts' Comment.Single '\n' Text.Whitespace 'include' Keyword ' ' Text.Whitespace '/path/to/file' Literal.String '\n' Text.Whitespace 'runScript' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String '/path/to/file' Literal.String '"' Literal.String '\n' Text.Whitespace 'execute' Keyword ' ' Text.Whitespace '/path/to/file' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# Predefined variables' Comment.Single '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'praatVersion' Name.Variable.Global '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'e' Name.Variable.Global ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'pi' Name.Variable.Global ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '(' Punctuation ' ' Text.Whitespace 'all' Text '+' Operator 'right' Text ')' Punctuation ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace 'left' Text ' ' Text.Whitespace 'mod' Operator.Word ' ' Text.Whitespace 'average' Text ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '(' Punctuation 'mono' Text ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'stereo' Text ')' Punctuation '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'homeDirectory$' Name.Variable.Global ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'tab$' Name.Variable.Global ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'newline$' Name.Variable.Global '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'temporaryDirectory$' Name.Variable.Global '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'praatVersion$' Name.Variable.Global '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'shellDirectory$' Name.Variable.Global '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'homeDirectory$' Name.Variable.Global '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'preferencesDirectory$' Name.Variable.Global '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'defaultDirectory$' Name.Variable.Global '\n' Text.Whitespace 'nocheck' Keyword ' ' Text.Whitespace 'selectObject' Name.Function ':' Punctuation ' ' Text.Whitespace 'undefined' Name.Variable.Global '\n' Text.Whitespace '# Not predefined variables' Comment.Single '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'e$' Text '\n' Text.Whitespace 'a$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'pi$' Text '\n\n' Text.Whitespace '# Arrays are not comments' Comment.Single '\n' Text.Whitespace 'a#' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'zero#' Name.Function ' ' Text.Whitespace '(' Punctuation '5' Literal.Number ',' Punctuation ' ' Text.Whitespace '6' Literal.Number ')' Punctuation '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '[' Punctuation '3' Literal.Number ']' Punctuation ',' Punctuation ' ' Text.Whitespace '5' Literal.Number ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '7' Literal.Number '\n' Text.Whitespace 'printline' Keyword ' ' Text.Whitespace "'a[3,5]'" Literal.String.Interpol ', ' Literal.String "'a[3]'" Literal.String.Interpol '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '[' Punctuation '1' Literal.Number ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '2' Literal.Number '\n' Text.Whitespace 'b' Text ' ' Text.Whitespace '[' Punctuation 'a' Text ' ' Text.Whitespace '[' Punctuation '1' Literal.Number ']' Punctuation ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '3' Literal.Number '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace '[' Punctuation 'a' Text ' ' Text.Whitespace '[' Punctuation '1' Literal.Number ']' Punctuation ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '3' Literal.Number '\n' Text.Whitespace 'printline' Keyword ' ' Text.Whitespace "'b[2]'" Literal.String.Interpol '\n' Text.Whitespace '\n' Text.Whitespace '# if-block with built-in variables' Comment.Single '\n' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'windows' Name.Variable.Global '\n ' Text.Whitespace '# We are on Windows' Comment.Single '\n' Text.Whitespace 'elsif' Keyword ' ' Text.Whitespace 'unix' Name.Variable.Global ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number ' ' Text.Whitespace 'or' Operator.Word ' ' Text.Whitespace '!' Operator 'macintosh' Name.Variable.Global '\n ' Text.Whitespace 'exitScript' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'We are on Linux' Literal.String '"' Literal.String '\n' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'macintosh' Name.Variable.Global ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '1' Literal.Number '\n ' Text.Whitespace 'exit' Keyword ' ' Text.Whitespace 'We are on Mac' Literal.String '\n' Text.Whitespace 'endif' Keyword '\n\n' Text.Whitespace '# Interpolation with precision digits' Comment.Single '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'a:3'" Literal.String.Interpol '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'a.a:3'" Literal.String.Interpol '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'a[1]:3'" Literal.String.Interpol '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'a1:3'" Literal.String.Interpol '\n' Text.Whitespace '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'a:3'" Literal.String.Interpol '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'a.a:3'" Literal.String.Interpol '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'a[1]:3'" Literal.String.Interpol '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'a1:3'" Literal.String.Interpol '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# Interpolations are not recursive' Comment.Single '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'a'" Literal.String.Interpol '1' Literal.String "'" Literal.String ':3' Literal.String "'" Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'a'" Literal.String.Interpol '1' Literal.String "'" Literal.String ':3' Literal.String "'" Literal.String '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# Interpolation without precision digits' Comment.Single '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'var'" Literal.String.Interpol ' ' Text.Whitespace 'numeric' Literal.String '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'var$'" Literal.String.Interpol ' ' Text.Whitespace 'string' Literal.String '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String '\'var["a"]\'' Literal.String.Interpol ' ' Text.Whitespace 'numeric hash' Literal.String '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String '\'var$["a"]\'' Literal.String.Interpol ' ' Text.Whitespace 'string hash' Literal.String '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'var[1]'" Literal.String.Interpol ' ' Text.Whitespace 'numeric indexed variable' Literal.String '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'unquoted ' Literal.String "'var$[1]'" Literal.String.Interpol ' ' Text.Whitespace 'string indexed variable' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'var'" Literal.String.Interpol ' numeric' Literal.String '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'var$'" Literal.String.Interpol ' string' Literal.String '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String '\'var["a"]\'' Literal.String.Interpol ' numeric hash' Literal.String '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String '\'var$["a"]\'' Literal.String.Interpol ' string hash' Literal.String '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'var[1]'" Literal.String.Interpol ' numeric indexed variable' Literal.String '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted ' Literal.String "'var$[1]'" Literal.String.Interpol ' string indexed variable' Literal.String '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# Indeces in interpolations must be literal' Comment.Single '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace "'" Literal.String 'var[a]' Literal.String "'" Literal.String '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace "'" Literal.String 'var[a$]' Literal.String "'" Literal.String '\n' Text.Whitespace '\n' Text.Whitespace 'string$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'But don' Literal.String "'" Literal.String 't interpolate everything!' Literal.String '"' Literal.String '\n' Text.Whitespace 'string$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'interpolatin' Literal.String "'" Literal.String ' ' Literal.String '"' Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '"' Literal.String 'across' Literal.String '"' Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '"' Literal.String ' strings ain' Literal.String "'" Literal.String 't cool either' Literal.String '"' Literal.String '\n' Text.Whitespace 'string$' Name.Function '(' Punctuation '10' Literal.Number ')' Punctuation ' ' Text.Whitespace '; This is a function' Comment.Single '\n\n' Text.Whitespace 'repeat' Keyword '\n ' Text.Whitespace 'string$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'string$' Text ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'right$' Name.Function '(' Punctuation 'string$' Text ')' Punctuation '\n' Text.Whitespace 'until' Keyword ' ' Text.Whitespace '!' Operator 'length' Name.Function '(' Punctuation 'string$' Text ')' Punctuation '\n\n' Text.Whitespace 'T' Keyword 'ext' Keyword '...' Keyword ' ' Text '1' Literal.Number ' ' Text 'R' Text 'ight' Text ' ' Text '0.2' Literal.Number ' ' Text 'H' Text 'alf' Text ' ' Text 'many' Text '-' Operator '-' Operator '-' Operator '-' Operator 'hyphens' Text '\n' Text.Whitespace 'T' Keyword 'ext' Keyword '...' Keyword ' ' Text '1' Literal.Number ' ' Text 'R' Text 'ight' Text ' ' Text '-' Operator '0.4' Literal.Number ' ' Text 'B' Text 'ottom' Text ' ' Text 'aحبيبa' Text '\n' Text.Whitespace 'T' Keyword 'ext' Keyword '...' Keyword ' ' Text '1' Literal.Number ' ' Text 'R' Text 'ight' Text ' ' Text '-' Operator '0.6' Literal.Number ' ' Text 'B' Text 'ottom' Text ' ' Text '日' Text '本' Text '\n' Text.Whitespace 'D' Keyword 'raw ' Keyword 'circle ' Keyword '(mm)' Keyword '...' Keyword ' ' Text '0.5' Literal.Number ' ' Text '0.5' Literal.Number ' ' Text 'i' Text '\n' Text.Whitespace '\n' Text.Whitespace 'rows' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Object' Name.Builtin '_' Name.Builtin "'table'" Literal.String.Interpol '.nrow' Name.Builtin '\n' Text.Whitespace 'value$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Table' Name.Builtin '_' Name.Builtin "'table'" Literal.String.Interpol '$' Name.Builtin '[' Text '25' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'f0' Literal.String '"' Literal.String ']' Punctuation '\n' Text.Whitespace 'fixed' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Sound' Name.Builtin '_' Name.Builtin '10' Name.Builtin '.xmin' Name.Builtin '\n' Text.Whitespace 'fixed' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Object' Name.Builtin '_' Name.Builtin 'foo' Name.Builtin '.xmin' Name.Builtin '\n' Text.Whitespace 'fixed' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Procrustes' Name.Builtin '_' Name.Builtin 'foo' Name.Builtin '.nx' Name.Builtin '\n' Text.Whitespace 'var' Text '[' Punctuation '"' Literal.String 'vaa' Literal.String '"' Literal.String ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number ' ' Text.Whitespace '; Hash' Comment.Single '\n\n' Text.Whitespace '# Special two-word keyword' Comment.Single '\n' Text.Whitespace 'select' Keyword ' ' Text.Whitespace 'all' Text '\n' Text.Whitespace '# Keyword with a predefined variable' Comment.Single '\n' Text.Whitespace 'select' Keyword ' ' Text.Whitespace 'all' Text '\n\n' Text.Whitespace '# old-style procedure call' Comment.Single '\n' Text.Whitespace 'call' Keyword ' ' Text.Whitespace 'oldStyle' Name.Function ' ' Text '"' Literal.String 'quoted' Literal.String '"' Literal.String ' ' Text '2' Literal.Number ' ' Text 'unquoted' Text ' ' Text 'string' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'oldStyle.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number '\n\n' Text.Whitespace '# New-style procedure call with parens' Comment.Single '\n' Text.Whitespace '@' Name.Function 'newStyle' Name.Function '(' Punctuation '"' Literal.String 'quoted' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '2' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted string' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'praatVersion' Name.Variable.Global ' ' Text.Whitespace '>=' Operator ' ' Text.Whitespace '5364' Literal.Number '\n ' Text.Whitespace '# New-style procedure call with colon' Comment.Single '\n ' Text.Whitespace '@' Name.Function 'newStyle' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '2' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'quoted string' Literal.String '"' Literal.String '\n' Text.Whitespace 'endif' Keyword '\n\n' Text.Whitespace '# inline if with inline comment' Comment.Single '\n' Text.Whitespace 'var' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'macintosh' Name.Variable.Global ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '0' Literal.Number ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '1' Literal.Number ' ' Text.Whitespace 'fi' Keyword ' ' Text.Whitespace '; This is an inline comment' Comment.Single '\n\n' Text.Whitespace '# for-loop with explicit from using local variable' Comment.Single '\n' Text.Whitespace '# and paren-style function calls and variable interpolation' Comment.Single '\n' Text.Whitespace 'n' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'numberOfSelected' Name.Function '(' Punctuation '"' Literal.String 'Sound' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Text ' ' Text.Whitespace 'from' Keyword ' ' Text.Whitespace 'newStyle.local' Text ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'n' Text '\n ' Text.Whitespace 'name' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'selected$' Name.Function '(' Punctuation 'extractWord$' Name.Function '(' Punctuation 'selected$' Name.Function '(' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace '"' Literal.String ' ' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'sound' Text "'i'" Literal.String.Interpol ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'selected' Name.Function '(' Punctuation '"' Literal.String 'Sound' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'i' Text '+' Operator '(' Text 'a' Text '*' Operator 'b' Text ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'sound' Text '[' Punctuation 'i' Text ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'sound' Text "'i'" Literal.String.Interpol '\n' Text.Whitespace 'endfor' Keyword '\n\n' Text.Whitespace 'i' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Text ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'n' Text '\n ' Text.Whitespace 'i' Text ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number '\n ' Text.Whitespace '# Different styles of object selection' Comment.Single '\n ' Text.Whitespace 'select' Keyword ' ' Text.Whitespace 'sound' Text "'i'" Literal.String.Interpol '\n ' Text.Whitespace 'sound' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'selected' Name.Function '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'sound$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'selected$' Name.Function '(' Punctuation '"' Literal.String 'Sound' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace 'select' Keyword ' ' Text.Whitespace 'Sound' Name.Class ' ' Text.Whitespace "'sound$'" Literal.String.Interpol '\n' Text.Whitespace ' ' Text.Whitespace 'selectObject' Name.Function '(' Punctuation ' ' Text.Whitespace 'sound' Text '[' Punctuation 'i' Text ']' Punctuation ')' Punctuation '\n ' Text.Whitespace 'selectObject' Name.Function ':' Punctuation ' ' Text.Whitespace 'sound' Text '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '# Pause commands' Comment.Single '\n ' Text.Whitespace 'beginPause' Name.Function '(' Punctuation '"' Literal.String 'Viewing ' Literal.String '"' Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'sound$' Text ')' Punctuation '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Text ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '1' Literal.Number '\n ' Text.Whitespace 'button' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'endPause' Name.Function '(' Punctuation '"' Literal.String 'Stop' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Previous' Literal.String '"' Literal.String ',' Punctuation '\n ' Text.Whitespace '...' Punctuation 'if' Keyword ' ' Text.Whitespace 'i' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'total_sounds' Text ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'Finish' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '"' Literal.String 'Next' Literal.String '"' Literal.String ' ' Text.Whitespace 'fi' Keyword ',' Punctuation '\n ' Text.Whitespace '...' Punctuation '3' Literal.Number ',' Punctuation ' ' Text.Whitespace '1' Literal.Number ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'button' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'endPause' Name.Function '(' Punctuation '"' Literal.String 'Stop' Literal.String '"' Literal.String ',' Punctuation '\n ' Text.Whitespace '...' Punctuation 'if' Keyword ' ' Text.Whitespace 'i' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'total_sounds' Text ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'Finish' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '"' Literal.String 'Next' Literal.String '"' Literal.String ' ' Text.Whitespace 'fi' Keyword ',' Punctuation '\n ' Text.Whitespace '...' Punctuation '2' Literal.Number ',' Punctuation ' ' Text.Whitespace '1' Literal.Number ')' Punctuation '\n ' Text.Whitespace 'endif' Keyword '\n ' Text.Whitespace 'editor_name$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'total_textgrids' Text ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'TextGrid ' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '"' Literal.String 'Sound ' Literal.String '"' Literal.String ' ' Text.Whitespace 'fi' Keyword ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'name$' Text '\n ' Text.Whitespace 'nocheck' Keyword ' ' Text.Whitespace 'editor' Keyword ' ' Text.Whitespace 'Sound' Name.Class ' ' Text.Whitespace "'editor_name$'" Literal.String.Interpol '\n' Text.Whitespace ' ' Text.Whitespace 'nocheck' Keyword ' ' Text.Whitespace 'C' Keyword 'lose' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'nocheck' Keyword ' ' Text.Whitespace 'endeditor' Keyword '\n ' Text.Whitespace 'editor_id' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'editor' Name.Function ':' Punctuation ' ' Text.Whitespace 'editor_name$' Text '\n' Text.Whitespace ' ' Text.Whitespace 'C' Keyword 'lose' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'endeditor' Keyword '\n\n ' Text.Whitespace '# New-style standalone command call' Comment.Single '\n ' Text.Whitespace 'R' Keyword 'ename' Keyword ':' Keyword ' ' Text.Whitespace '"' Literal.String 'SomeName' Literal.String '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '# Command call with assignment' Comment.Single '\n ' Text.Whitespace 'duration' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword 'total ' Keyword 'duration' Keyword '\n' Text.Whitespace '\n ' Text.Whitespace '# Multi-line command with modifier' Comment.Single '\n ' Text.Whitespace 'pitch' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'noprogress' Keyword ' ' Text.Whitespace 'T' Keyword 'o ' Keyword 'Pitch ' Keyword '(ac)' Keyword ':' Keyword ' ' Text.Whitespace '0' Literal.Number ',' Punctuation ' ' Text.Whitespace '75' Literal.Number ',' Punctuation ' ' Text.Whitespace '15' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'no' Literal.String '"' Literal.String ',' Punctuation '\n ' Text.Whitespace '...' Punctuation '0.03' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.45' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.01' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.35' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.14' Literal.Number ',' Punctuation ' ' Text.Whitespace '600' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace '# Formulas are strings' Comment.Single '\n ' Text.Whitespace 'F' Keyword 'ormula' Keyword ':' Keyword ' ' Text.Whitespace '"' Literal.String 'if col = 1 then row * Object_' Literal.String "'pitch'" Literal.String.Interpol '.dx + ' Literal.String "'first'" Literal.String.Interpol ' else self fi' Literal.String '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '# do-style command with assignment' Comment.Single '\n ' Text.Whitespace 'minimum' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'do' Name.Function '(' Punctuation '"' Literal.String 'Get minimum...' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '0' Literal.Number ',' Punctuation ' ' Text.Whitespace '0' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Hertz' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Parabolic' Literal.String '"' Literal.String ')' Punctuation '\n\n ' Text.Whitespace '# New-style multi-line command call with broken strings' Comment.Single '\n ' Text.Whitespace 'table' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'C' Keyword 'reate ' Keyword 'Table ' Keyword 'with ' Keyword 'column ' Keyword 'names' Keyword ':' Keyword ' ' Text.Whitespace '"' Literal.String 'table' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '0' Literal.Number ',' Punctuation '\n ' Text.Whitespace '...' Punctuation '"' Literal.String 'file subject speaker' Literal.String '\n ' Text.Whitespace '...' Punctuation ' f0 f1 f2 f' Literal.String '"' Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'string$' Name.Function '(' Punctuation '3' Literal.Number ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '"' Literal.String ' ' Literal.String '"' Literal.String ' ' Text.Whitespace '+' Operator '\n ' Text.Whitespace '...' Punctuation '"' Literal.String 'duration response' Literal.String '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '# Function call with trailing space' Comment.Single '\n ' Text.Whitespace 'removeObject' Name.Function ':' Punctuation ' ' Text.Whitespace 'pitch' Text ',' Punctuation ' ' Text.Whitespace 'table' Text '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '# Picture window commands' Comment.Single '\n ' Text.Whitespace 'selectObject' Name.Function ':' Punctuation ' ' Text.Whitespace 'sound' Text '\n' Text.Whitespace ' ' Text.Whitespace '# do-style command' Comment.Single '\n ' Text.Whitespace 'do' Name.Function '(' Punctuation '"' Literal.String 'Select inner viewport...' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '1' Literal.Number ',' Punctuation ' ' Text.Whitespace '6' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.5' Literal.Number ',' Punctuation ' ' Text.Whitespace '1.5' Literal.Number ')' Punctuation '\n ' Text.Whitespace 'B' Keyword 'lack' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'D' Keyword 'raw' Keyword '...' Keyword ' ' Text '0' Literal.Number ' ' Text '0' Literal.Number ' ' Text '0' Literal.Number ' ' Text '0' Literal.Number ' ' Text '"' Literal.String 'no' Literal.String '"' Literal.String ' ' Text 'C' Text 'urve' Text '\n' Text.Whitespace ' ' Text.Whitespace 'D' Keyword 'raw ' Keyword 'inner ' Keyword 'box' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'T' Keyword 'ext ' Keyword 'bottom' Keyword ':' Keyword ' ' Text.Whitespace '"' Literal.String 'yes' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'sound$' Text '\n' Text.Whitespace ' ' Text.Whitespace 'E' Keyword 'rase ' Keyword 'all' Keyword '\n' Text.Whitespace '\n ' Text.Whitespace '# Demo window commands' Comment.Single '\n ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'E' Keyword 'rase ' Keyword 'all' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'S' Keyword 'elect ' Keyword 'inner ' Keyword 'viewport' Keyword '...' Keyword ' ' Text '0' Literal.Number ' ' Text '100' Literal.Number ' ' Text '0' Literal.Number ' ' Text '100' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'A' Keyword 'xes' Keyword '...' Keyword ' ' Text '0' Literal.Number ' ' Text '100' Literal.Number ' ' Text '0' Literal.Number ' ' Text '100' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'P' Keyword 'aint ' Keyword 'rectangle' Keyword '...' Keyword ' ' Text 'white' Text ' ' Text '0' Literal.Number ' ' Text '100' Literal.Number ' ' Text '0' Literal.Number ' ' Text '100' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'T' Keyword 'ext' Keyword '...' Keyword ' ' Text '50' Literal.Number ' ' Text 'centre' Text ' ' Text '50' Literal.Number ' ' Text 'half' Text ' ' Text 'C' Text 'lick' Text ' ' Text 'to' Text ' ' Text 'finish' Text '\n' Text.Whitespace ' ' Text.Whitespace 'demoWaitForInput' Name.Function ' ' Text.Whitespace '(' Punctuation ' ' Text.Whitespace ')' Punctuation '\n ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'E' Keyword 'rase ' Keyword 'all' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'demo' Keyword ' ' Text.Whitespace 'T' Keyword 'ext' Keyword ':' Keyword ' ' Text.Whitespace '50' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'centre' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '50' Literal.Number ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'half' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Finished' Literal.String '"' Literal.String '\n' Text.Whitespace 'endwhile' Keyword '\n\n' Text.Whitespace 'switch$' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'switch' Text ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '1' Literal.Number ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'a' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace '...' Punctuation ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'switch' Text ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '2' Literal.Number ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'b' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace '...' Punctuation ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'switch' Text ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '3' Literal.Number ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'c' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace '...' Punctuation ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'switch' Text ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '4' Literal.Number ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '"' Literal.String 'd' Literal.String '"' Literal.String ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace '...' Punctuation ' ' Text.Whitespace '"' Literal.String 'default' Literal.String '"' Literal.String ' ' Text.Whitespace 'fi' Keyword ' ' Text.Whitespace 'fi' Keyword ' ' Text.Whitespace 'fi' Keyword ' ' Text.Whitespace 'fi' Keyword '\n\n' Text.Whitespace '# An old-style sendpraat block' Comment.Single '\n' Text.Whitespace '# All these lines should be a string!' Comment.Single '\n' Text.Whitespace 'sendpraat' Keyword ' ' Text.Whitespace 'Praat' Literal.String '\n ' Text.Whitespace '...' Punctuation "'newline$'" Literal.String.Interpol ' ' Text.Whitespace 'Create Sound as pure tone... "tone" 1 0 0.4 44100 440 0.2 0.01 0.01' Literal.String '\n ' Text.Whitespace '...' Punctuation "'newline$'" Literal.String.Interpol ' ' Text.Whitespace 'Play' Literal.String '\n ' Text.Whitespace '...' Punctuation "'newline$'" Literal.String.Interpol ' ' Text.Whitespace 'Remove' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# A new-style sendpraat block' Comment.Single '\n' Text.Whitespace 'beginSendPraat' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'Praat' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'C' Keyword 'reate ' Keyword 'Sound ' Keyword 'as ' Keyword 'pure ' Keyword 'tone' Keyword ':' Keyword ' ' Text.Whitespace '"' Literal.String 'tone' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '1' Literal.Number ',' Punctuation ' ' Text.Whitespace '0' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.4' Literal.Number ',' Punctuation ' ' Text.Whitespace '44100' Literal.Number ',' Punctuation ' ' Text.Whitespace '440' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.2' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.01' Literal.Number ',' Punctuation ' ' Text.Whitespace '0.01' Literal.Number '\n' Text.Whitespace ' ' Text.Whitespace 'duration' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword 'total ' Keyword 'duration' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'R' Keyword 'emove' Keyword '\n' Text.Whitespace 'endSendPraat' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'duration' Literal.String '"' Literal.String '\n' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace '"' Literal.String 'The generated sound lasted for ' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'duration' Text ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'seconds' Literal.String '"' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# Number types' Comment.Single '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '10%' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '-' Operator '10' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '+' Operator '10' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '10.4' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '294e12' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '2.94e12' Literal.Number '\n\n' Text.Whitespace '# Operators' Comment.Single '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '2' Literal.Number ' ' Text.Whitespace '^' Operator ' ' Text.Whitespace '-' Operator '6' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '-' Operator '(' Punctuation '1' Literal.Number '+' Operator '1' Literal.Number ')' Punctuation '^' Operator '6' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '4' Literal.Number '^' Operator '3' Literal.Number ' ' Text.Whitespace '^' Operator ' ' Text.Whitespace '2' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '54' Literal.Number ' ' Text.Whitespace 'div' Operator.Word ' ' Text.Whitespace '5.1' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '54.3' Literal.Number ' ' Text.Whitespace 'mod' Operator.Word ' ' Text.Whitespace '5' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '3' Literal.Number ' ' Text.Whitespace '*' Operator '*' Operator ' ' Text.Whitespace '8' Literal.Number ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '7' Literal.Number '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '3' Literal.Number ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace '(' Punctuation '8' Literal.Number ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '7' Literal.Number ')' Punctuation '\n' Text.Whitespace 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation '7' Literal.Number ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '(' Punctuation '3' Literal.Number ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '5' Literal.Number ')' Punctuation ')' Punctuation ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace '(' Punctuation '(' Punctuation '2' Literal.Number ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '3' Literal.Number ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number ')' Punctuation '\n\n' Text.Whitespace '# Logical operators' Comment.Single '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace '(' Punctuation 'a' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'b' Text ')' Punctuation ' ' Text.Whitespace 'and' Operator.Word ' ' Text.Whitespace 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '(' Punctuation 'b' Text ' ' Text.Whitespace 'or' Operator.Word ' ' Text.Whitespace 'c' Text ')' Punctuation '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '<=' Operator ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace 'not' Operator.Word ' ' Text.Whitespace 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '>=' Operator ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace '!' Operator 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '!=' Operator ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '!=' Operator ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'b' Text ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace 'c' Text '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace 'a' Text ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'b' Text '\n\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace '(' Punctuation 'a' Text ')' Punctuation 'or' Operator.Word ' ' Text.Whitespace '(' Punctuation 'b' Text ')' Punctuation '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace '(' Punctuation 'a' Text ')' Punctuation ' ' Text.Whitespace 'or' Operator.Word '(' Punctuation 'b' Text ')' Punctuation '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace '(' Punctuation 'a' Text ')' Punctuation 'and' Operator.Word '(' Punctuation 'b' Text ')' Punctuation '\n\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace '"' Literal.String 'hello' Literal.String '"' Literal.String ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'he' Literal.String '"' Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '"' Literal.String 'llo' Literal.String '"' Literal.String '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace '"' Literal.String 'hello' Literal.String '"' Literal.String ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '"' Literal.String 'hello world' Literal.String '"' Literal.String ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '"' Literal.String ' world' Literal.String '"' Literal.String '\n\n' Text.Whitespace 'stopwatch' Keyword '\n' Text.Whitespace 'time' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'stopwatch' Keyword '\n' Text.Whitespace 'clearinfo' Keyword '\n' Text.Whitespace 'echo' Keyword ' ' Text.Whitespace 'This script took' Literal.String '\n' Text.Whitespace 'print' Keyword ' ' Text.Whitespace "'time'" Literal.String.Interpol ' ' Text.Whitespace 'seconds to' Literal.String '\n' Text.Whitespace 'printline' Keyword ' ' Text.Whitespace 'execute.' Literal.String '\n' Text.Whitespace '\n' Text.Whitespace '# Old-style procedure declaration' Comment.Single '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'oldStyle' Name.Function ' .str1$ .num .str2$' Text '\n ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number '\n' Text.Whitespace 'endproc' Keyword '\n\n' Text.Whitespace '# New-style procedure declaration with parentheses' Comment.Single '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'newStyle' Name.Function ' (' Text.Whitespace '.str1$' Text ',' Punctuation ' ' Text.Whitespace '.num' Text ',' Punctuation ' ' Text.Whitespace '.str2$' Text ')' Punctuation '\n ' Text.Whitespace '# Command with "local" variable' Comment.Single '\n ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword 'total ' Keyword 'duration' Keyword '\n' Text.Whitespace ' ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword "'some'" Literal.String.Interpol ' duration' Keyword '\n' Text.Whitespace ' ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword "'some[1]'" Literal.String.Interpol ' value' Keyword '...' Keyword ' ' Text 'hello' Text ' ' Text '10' Literal.Number ' ' Text 'p' Text '[' Punctuation 'i' Text ']' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword "'some[1,3]'" Literal.String.Interpol ' value' Keyword ':' Keyword ' ' Text.Whitespace '"' Literal.String 'hello' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '10' Literal.Number ',' Punctuation ' ' Text.Whitespace 'p' Text '[' Punctuation 'i' Text ']' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword "'some$'" Literal.String.Interpol ' duration' Keyword '\n' Text.Whitespace ' ' Text.Whitespace '.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword "'some$[1]'" Literal.String.Interpol ' duration' Keyword '\n' Text.Whitespace 'endproc' Keyword '\n\n' Text.Whitespace '# New-style procedure declaration with colon' Comment.Single '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace '_new_style' Name.Function ':' Text.Whitespace ' ' Text.Whitespace '.str1$' Text ',' Punctuation ' ' Text.Whitespace '.num' Text ',' Punctuation ' ' Text.Whitespace '.str2$' Text '\n ' Text.Whitespace '# Command with "local" variable' Comment.Single '\n ' Text.Whitespace '# Initial underscores in variables not allowed (unless interpolated)' Comment.Single '\n ' Text.Whitespace '_new_style.local' Text ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'G' Keyword 'et ' Keyword 'total ' Keyword 'duration' Keyword '\n' Text.Whitespace 'endproc' Keyword '\n\n' Text.Whitespace 'asserterror' Keyword ' ' Text.Whitespace 'Unknown symbol:' Literal.String "'newline$'" Literal.String.Interpol '« _' Literal.String '\n' Text.Whitespace 'assert' Keyword ' ' Text.Whitespace "'_new_style.local'" Literal.String.Interpol '\n\n' Text.Whitespace '@' Name.Function 'proc' Name.Function ':' Punctuation ' ' Text.Whitespace 'a' Text ',' Punctuation ' ' Text.Whitespace 'selected' Name.Function '(' Punctuation '"' Literal.String 'string' Literal.String '"' Literal.String ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'b' Text '\n' Text.Whitespace '# Comment' Comment.Single '\n\n' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Text ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'saveSelection.n' Text '\n ' Text.Whitespace 'selectObject' Name.Function ':' Punctuation ' ' Text.Whitespace 'saveSelection.id' Text '[' Punctuation 'i' Text ']' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'appendInfoLine' Name.Function ':' Punctuation ' ' Text.Whitespace 'selected$' Name.Function '(' Punctuation ')' Punctuation '\n' Text.Whitespace 'endfor' Keyword '\n\n' Text.Whitespace '@' Name.Function 'ok' Name.Function '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'selected$' Name.Function '(' Punctuation '"' Literal.String 'Sound' Literal.String '"' Literal.String ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'tone' Literal.String '"' Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace '1' Literal.Number ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '0' Literal.Number ' ' Text.Whitespace 'fi' Keyword ',' Punctuation '\n ' Text.Whitespace '...' Punctuation ' ' Text.Whitespace '"' Literal.String 'selected sound is tone' Literal.String '"' Literal.String ')' Punctuation '\n\n' Text.Whitespace '@' Name.Function 'ok_formula' Name.Function '(' Punctuation '"' Literal.String 'selected$(' Literal.String '"' Literal.String '"' Literal.String 'Sound' Literal.String '"' Literal.String '"' Literal.String ') = ' Literal.String '"' Literal.String '"' Literal.String 'tone' Literal.String '"' Literal.String '"' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'selected sound is tone' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace