Imported Upstream version 2.10.0 upstream/2.10.0
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 18 Jul 2022 02:07:32 +0000 (11:07 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 18 Jul 2022 02:07:32 +0000 (11:07 +0900)
149 files changed:
AUTHORS
CHANGES
Makefile
PKG-INFO
Pygments.egg-info/PKG-INFO
Pygments.egg-info/SOURCES.txt
README.rst
doc/docs/tokens.rst
doc/languages.rst
pygments/__init__.py
pygments/formatters/pangomarkup.py
pygments/lexers/_csound_builtins.py
pygments/lexers/_mapping.py
pygments/lexers/asc.py [new file with mode: 0644]
pygments/lexers/asm.py
pygments/lexers/bibtex.py
pygments/lexers/c_cpp.py
pygments/lexers/cddl.py
pygments/lexers/clean.py
pygments/lexers/configs.py
pygments/lexers/csound.py
pygments/lexers/dotnet.py
pygments/lexers/floscript.py
pygments/lexers/go.py
pygments/lexers/gsql.py [new file with mode: 0755]
pygments/lexers/javascript.py
pygments/lexers/jslt.py [new file with mode: 0644]
pygments/lexers/jvm.py
pygments/lexers/lisp.py
pygments/lexers/meson.py [new file with mode: 0644]
pygments/lexers/objective.py
pygments/lexers/procfile.py [new file with mode: 0644]
pygments/lexers/python.py
pygments/lexers/rust.py
pygments/lexers/shell.py
pygments/lexers/smithy.py [new file with mode: 0644]
pygments/lexers/smv.py
pygments/lexers/special.py
pygments/lexers/tcl.py
pygments/lexers/templates.py
pygments/lexers/thingsdb.py
pygments/lexers/tnt.py
pygments/regexopt.py
scripts/count_token_references.py [new file with mode: 0755]
scripts/debug_lexer.py
tests/examplefiles/arduino/Blink.ino.output
tests/examplefiles/asc/id_ecdsa [new file with mode: 0644]
tests/examplefiles/asc/id_ecdsa.output [new file with mode: 0644]
tests/examplefiles/bst/plain.bst.output
tests/examplefiles/c/ceval.c.output
tests/examplefiles/c/example.c.output
tests/examplefiles/c/numbers.c.output
tests/examplefiles/cddl/example.cddl.output
tests/examplefiles/charmci/Charmci.ci.output
tests/examplefiles/clean/StdGeneric.icl.output
tests/examplefiles/cpp/example.cpp.output
tests/examplefiles/cpp/example2.cpp.output
tests/examplefiles/cpp/functions.cpp.output
tests/examplefiles/cpp/namespace.cpp.output
tests/examplefiles/cpp/noexcept.cpp.output
tests/examplefiles/cuda/test.cu.output
tests/examplefiles/duel/jbst_example1.jbst.output
tests/examplefiles/ec/test.ec.output
tests/examplefiles/ec/test.eh.output
tests/examplefiles/fennel/fennelview.fnl.output
tests/examplefiles/floscript/example.flo.output
tests/examplefiles/freefem/freefem.edp.output
tests/examplefiles/gsql/test.gsql [new file with mode: 0755]
tests/examplefiles/gsql/test.gsql.output [new file with mode: 0644]
tests/examplefiles/java/Intro.java [deleted file]
tests/examplefiles/java/Intro.java.output [deleted file]
tests/examplefiles/js/es6.js [deleted file]
tests/examplefiles/js/es6.js.output [deleted file]
tests/examplefiles/js/general.js [new file with mode: 0644]
tests/examplefiles/js/general.js.output [new file with mode: 0644]
tests/examplefiles/logos/logos_example.xm.output
tests/examplefiles/mako/test.mao [new file with mode: 0644]
tests/examplefiles/mako/test.mao.output [new file with mode: 0644]
tests/examplefiles/meson/meson.build [new file with mode: 0644]
tests/examplefiles/meson/meson.build.output [new file with mode: 0644]
tests/examplefiles/mql/example.mq4.output
tests/examplefiles/mql/example.mqh.output
tests/examplefiles/nesc/IPDispatchC.nc.output
tests/examplefiles/nesc/IPDispatchP.nc.output
tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl [new file with mode: 0644]
tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl.output [new file with mode: 0644]
tests/examplefiles/objective-c/objc_example.m.output
tests/examplefiles/omg-idl/example.idl.output
tests/examplefiles/pike/Error.pmod.output
tests/examplefiles/pike/FakeFile.pike.output
tests/examplefiles/procfile/Procfile [new file with mode: 0644]
tests/examplefiles/procfile/Procfile.output [new file with mode: 0644]
tests/examplefiles/pycon/pycon_ctrlc_traceback.output
tests/examplefiles/pycon/pycon_test.pycon.output
tests/examplefiles/pytb/error_locations.pytb [new file with mode: 0644]
tests/examplefiles/pytb/error_locations.pytb.output [new file with mode: 0644]
tests/examplefiles/pytb/py3tb_test.py3tb.output
tests/examplefiles/pytb/syntax_error.py2tb [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error.py2tb.output [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error.pytb [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error.pytb.output [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error_caret_code.py2tb [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error_caret_code.py2tb.output [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error_caret_code.pytb [new file with mode: 0644]
tests/examplefiles/pytb/syntax_error_caret_code.pytb.output [new file with mode: 0644]
tests/examplefiles/ragel-cpp/ragel-cpp_rlscan.output
tests/examplefiles/ragel-cpp/ragel-cpp_snippet.output
tests/examplefiles/rhtml/test.rhtml.output
tests/examplefiles/smithy/test.smithy [new file with mode: 0644]
tests/examplefiles/smithy/test.smithy.output [new file with mode: 0644]
tests/examplefiles/swig/swig_java.swg.output
tests/examplefiles/swig/swig_std_vector.i.output
tests/examplefiles/toml/example.toml.output
tests/examplefiles/ts/typescript_example.output
tests/snippets/c/test_comment_end.txt
tests/snippets/c/test_label.txt
tests/snippets/c/test_label_followed_by_statement.txt
tests/snippets/c/test_label_space_before_colon.txt
tests/snippets/c/test_numbers.txt
tests/snippets/c/test_preproc_file.txt
tests/snippets/c/test_preproc_file2.txt
tests/snippets/c/test_preproc_file3.txt [new file with mode: 0644]
tests/snippets/c/test_preproc_file4.txt [new file with mode: 0644]
tests/snippets/c/test_preproc_file5.txt [new file with mode: 0644]
tests/snippets/c/test_switch.txt
tests/snippets/c/test_switch_space_before_colon.txt
tests/snippets/console/test_newline_in_echo.txt [deleted file]
tests/snippets/console/test_newline_in_echo_no_ps2.txt [new file with mode: 0644]
tests/snippets/console/test_newline_in_echo_ps2.txt [new file with mode: 0644]
tests/snippets/console/test_newline_in_ls.txt [deleted file]
tests/snippets/console/test_newline_in_ls_no_ps2.txt [new file with mode: 0644]
tests/snippets/console/test_newline_in_ls_ps2.txt [new file with mode: 0644]
tests/snippets/cpp/test_good_comment.txt
tests/snippets/java/test_default.txt [new file with mode: 0644]
tests/snippets/java/test_enhanced_for.txt
tests/snippets/jslt/test_sample.txt [new file with mode: 0644]
tests/snippets/objectivec/test_literal_number_bool.txt
tests/snippets/objectivec/test_literal_number_bool_expression.txt
tests/snippets/objectivec/test_literal_number_expression.txt
tests/snippets/objectivec/test_literal_number_int.txt
tests/snippets/objectivec/test_literal_number_nested_expression.txt
tests/snippets/objectivec/test_module_import.txt
tests/snippets/omg-idl/annotation_named_params.txt
tests/snippets/omg-idl/enumerators.txt
tests/snippets/rust/test_attribute.txt [new file with mode: 0644]
tests/snippets/rust/test_break.txt [new file with mode: 0644]
tests/snippets/tcl/test_comma_and_at.txt [new file with mode: 0644]
tests/test_procfile.py [new file with mode: 0644]
tests/test_words.py [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
index e8df18588fb3b2d9d3802af5c0876484d6e09ab0..9fc03933a012a3d7e6d60c7f8cffc559a7a9a210 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -6,6 +6,7 @@ Major developers are Tim Hatch <tim@timhatch.com> and Armin Ronacher
 Other contributors, listed alphabetically, are:
 
 * Sam Aaron -- Ioke lexer
+* João Abecasis -- JSLT lexer
 * Ali Afshar -- image formatter
 * Thomas Aglassinger -- Easytrieve, JCL, Rexx, Transact-SQL and VBScript
   lexers
@@ -32,7 +33,7 @@ Other contributors, listed alphabetically, are:
 * Sébastien Bigaret -- QVT Operational lexer
 * Jarrett Billingsley -- MiniD lexer
 * Adam Blinkinsop -- Haskell, Redcode lexers
-* Stéphane Blondon -- SGF and Sieve lexers
+* Stéphane Blondon -- Procfile, SGF and Sieve lexers
 * Frits van Bommel -- assembler lexers
 * Pierre Bourdon -- bugfixes
 * Martijn Braam -- Kernel log lexer, BARE lexer
@@ -48,6 +49,7 @@ Other contributors, listed alphabetically, are:
 * Pete Curry -- bugfixes
 * Bryan Davis -- EBNF lexer
 * Bruno Deferrari -- Shen lexer
+* Luke Drummond -- Meson lexer
 * Giedrius Dubinskas -- HTML formatter improvements
 * Owen Durni -- Haxe lexer
 * Alexander Dutton, Oxford University Computing Services -- SPARQL lexer
@@ -201,6 +203,7 @@ Other contributors, listed alphabetically, are:
 * Robert Simmons -- Standard ML lexer
 * Kirill Simonov -- YAML lexer
 * Corbin Simpson -- Monte lexer
+* Ville Skyttä -- ASCII armored lexer
 * Alexander Smishlajev -- Visual FoxPro lexer
 * Steve Spigarelli -- XQuery lexer
 * Jerome St-Louis -- eC lexer
@@ -225,6 +228,7 @@ Other contributors, listed alphabetically, are:
 * Matthias Vallentin -- Bro lexer
 * Benoît Vinot -- AMPL lexer
 * Linh Vu Hong -- RSL lexer
+* Immanuel Washington -- Smithy lexer
 * Nathan Weizenbaum -- Haml and Sass lexers
 * Nathan Whetsell -- Csound lexers
 * Dietmar Winkler -- Modelica lexer
diff --git a/CHANGES b/CHANGES
index 13047549721f37e5e882188cb65935e3cf01a636..4827f92c4c73fd331ea681fa99bcc4c4cee69cec 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,47 @@ pull request numbers to the requests at
 <https://github.com/pygments/pygments/pulls>.
 
 
+Version 2.10.0
+--------------
+(released August 15th, 2021)
+
+- Added lexers:
+
+  * ASC armored files (#1807)
+  * GSQL (#1809, #1866)
+  * Javascript REPL (#1825)
+  * procfile (#1808)
+  * Smithy (#1878, #1879)
+
+- Updated lexers:
+
+  * C-family: Fix preprocessor token issues (#1830)
+  * C# (#1573, #1869)
+  * CSound (#1837)
+  * Fennel (#1862)
+  * JavaScript (#1741, #1814)
+  * LLVM (#1824)
+  * Rust
+  
+    - Fix lexing of "break" and "continue" (#1843)
+    - Improve attribute handling (#1813)
+
+  * Scala: Add support for the ``\`` operator (#1857)
+  * Swift (#1767, #1842)
+  * Tcl: Allow ``,`` and ``@`` in strings (#1834, #1742)
+
+- Fix assert statements in TNT lexer.
+- Token types across all lexers have been unified (using the most common token
+  type name) (#1816, #1819)
+- Improve Jasmin min score analysis (#1619)
+- Add new alias for Go files (#1827)
+- Fix multi-line console highlighting (#1833)
+- Add a new trivial lexer which outputs everything as `Text.Generic.Output` (#1835, #1836)
+- Use the ``.ini`` lexer for ``systemd`` files (#1849)
+- Fix a ``FutureWarning`` related to ``words()`` (#1854)
+- ``pwsh`` is now recognized as an alias for PowerShell (#1876)
+
+
 Version 2.9.0
 -------------
 (released May 3rd, 2021)
@@ -30,7 +71,6 @@ Version 2.9.0
   * Coq (#1721)
   * Cython (#853)
   * Groovy (#1765)
-  * JavaScript (#1741)
   * Julia (#1715)
   * Octave: Allow multiline and block-percent comments (#1726)
   * PowerShell: Improve lexing of ``:`` (#1682, #1758)
@@ -38,7 +78,6 @@ Version 2.9.0
   * Python: Improve float parsing (#1768, #1740)
   * Rust (#1061)
   * Scala: Rewrite to support Scala3 (#1694, #1035, #1121)
-  * Swift (#1767)
   * Terraform: Support 0.14 syntax (#1756)
   * Velocity: Detect multi-line patterns (#1776)
 
index ab86244c0c3714bf32d691ee910a86538e918d84..f490b76cb502c26836be8a2756af0a46f8b8b14d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,8 @@ check:
        @pyflakes pygments | grep -v 'but unused' || true
        @$(PYTHON) scripts/check_sources.py -i build -i dist -i pygments/lexers/_mapping.py \
                   -i docs/build -i pygments/formatters/_mapping.py -i pygments/unistring.py
+       @$(PYTHON) scripts/count_token_references.py --minfiles=1 --maxfiles=1 \
+                  --minlines=1 --maxlines=3 --subtoken
 
 clean: clean-pyc
        -rm -rf doc/_build build Pygments.egg-info
index 325ea69831fb66b179c15ee3882de269766679a3..ba794397d25d12be9eaf0cfc6e526f3bc5f763dc 100644 (file)
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.9.0
+Version: 2.10.0
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
index 325ea69831fb66b179c15ee3882de269766679a3..ba794397d25d12be9eaf0cfc6e526f3bc5f763dc 100644 (file)
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.9.0
+Version: 2.10.0
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
index c33fce1217f70412c724b57a49f1bf9eb72111a2..5c185ae2b66abf27b355fe71f525ebbd0c9e0ab5 100644 (file)
@@ -129,6 +129,7 @@ pygments/lexers/apdlexer.py
 pygments/lexers/apl.py
 pygments/lexers/archetype.py
 pygments/lexers/arrow.py
+pygments/lexers/asc.py
 pygments/lexers/asm.py
 pygments/lexers/automation.py
 pygments/lexers/bare.py
@@ -180,6 +181,7 @@ pygments/lexers/grammar_notation.py
 pygments/lexers/graph.py
 pygments/lexers/graphics.py
 pygments/lexers/graphviz.py
+pygments/lexers/gsql.py
 pygments/lexers/haskell.py
 pygments/lexers/haxe.py
 pygments/lexers/hdl.py
@@ -193,6 +195,7 @@ pygments/lexers/int_fiction.py
 pygments/lexers/iolang.py
 pygments/lexers/j.py
 pygments/lexers/javascript.py
+pygments/lexers/jslt.py
 pygments/lexers/julia.py
 pygments/lexers/jvm.py
 pygments/lexers/kuin.py
@@ -201,6 +204,7 @@ pygments/lexers/make.py
 pygments/lexers/markup.py
 pygments/lexers/math.py
 pygments/lexers/matlab.py
+pygments/lexers/meson.py
 pygments/lexers/mime.py
 pygments/lexers/ml.py
 pygments/lexers/modeling.py
@@ -224,6 +228,7 @@ pygments/lexers/php.py
 pygments/lexers/pointless.py
 pygments/lexers/pony.py
 pygments/lexers/praat.py
+pygments/lexers/procfile.py
 pygments/lexers/prolog.py
 pygments/lexers/promql.py
 pygments/lexers/python.py
@@ -246,6 +251,7 @@ pygments/lexers/shell.py
 pygments/lexers/sieve.py
 pygments/lexers/slash.py
 pygments/lexers/smalltalk.py
+pygments/lexers/smithy.py
 pygments/lexers/smv.py
 pygments/lexers/snobol.py
 pygments/lexers/solidity.py
@@ -320,6 +326,7 @@ pygments/styles/xcode.py
 pygments/styles/zenburn.py
 scripts/check_crlf.py
 scripts/check_sources.py
+scripts/count_token_references.py
 scripts/debug_lexer.py
 scripts/detect_missing_analyse_text.py
 scripts/get_vimkw.py
@@ -348,6 +355,7 @@ tests/test_modeline.py
 tests/test_mysql.py
 tests/test_pangomarkup_formatter.py
 tests/test_perllexer.py
+tests/test_procfile.py
 tests/test_raw_token.py
 tests/test_regexlexer.py
 tests/test_regexopt.py
@@ -363,6 +371,7 @@ tests/test_unistring.py
 tests/test_usd.py
 tests/test_using_api.py
 tests/test_util.py
+tests/test_words.py
 tests/dtds/HTML4-f.dtd
 tests/dtds/HTML4-s.dtd
 tests/dtds/HTML4.dcl
@@ -422,6 +431,8 @@ tests/examplefiles/as3/as3_test2.as
 tests/examplefiles/as3/as3_test2.as.output
 tests/examplefiles/as3/as3_test3.as
 tests/examplefiles/as3/as3_test3.as.output
+tests/examplefiles/asc/id_ecdsa
+tests/examplefiles/asc/id_ecdsa.output
 tests/examplefiles/aspx-cs/aspx-cs_example
 tests/examplefiles/aspx-cs/aspx-cs_example.output
 tests/examplefiles/aspx-vb/example2.aspx
@@ -714,6 +725,8 @@ tests/examplefiles/groovy/test.gradle
 tests/examplefiles/groovy/test.gradle.output
 tests/examplefiles/groovy/test.groovy
 tests/examplefiles/groovy/test.groovy.output
+tests/examplefiles/gsql/test.gsql
+tests/examplefiles/gsql/test.gsql.output
 tests/examplefiles/gst/example.gst
 tests/examplefiles/gst/example.gst.output
 tests/examplefiles/haskell/AcidStateAdvanced.hs
@@ -792,8 +805,6 @@ tests/examplefiles/jags/example.jag
 tests/examplefiles/jags/example.jag.output
 tests/examplefiles/jasmin/example.j
 tests/examplefiles/jasmin/example.j.output
-tests/examplefiles/java/Intro.java
-tests/examplefiles/java/Intro.java.output
 tests/examplefiles/java/badcase.java
 tests/examplefiles/java/badcase.java.output
 tests/examplefiles/java/example.java
@@ -806,10 +817,10 @@ tests/examplefiles/jcl/example.jcl
 tests/examplefiles/jcl/example.jcl.output
 tests/examplefiles/js/BOM.js
 tests/examplefiles/js/BOM.js.output
-tests/examplefiles/js/es6.js
-tests/examplefiles/js/es6.js.output
 tests/examplefiles/js/evil_regex.js
 tests/examplefiles/js/evil_regex.js.output
+tests/examplefiles/js/general.js
+tests/examplefiles/js/general.js.output
 tests/examplefiles/js/regex.js
 tests/examplefiles/js/regex.js.output
 tests/examplefiles/js/unicode.js
@@ -876,6 +887,8 @@ tests/examplefiles/make/python25-bsd.mak
 tests/examplefiles/make/python25-bsd.mak.output
 tests/examplefiles/make/vpath.mk
 tests/examplefiles/make/vpath.mk.output
+tests/examplefiles/mako/test.mao
+tests/examplefiles/mako/test.mao.output
 tests/examplefiles/maql/test.maql
 tests/examplefiles/maql/test.maql.output
 tests/examplefiles/mask/test.mask
@@ -890,6 +903,8 @@ tests/examplefiles/matlabsession/matlabsession_sample.txt
 tests/examplefiles/matlabsession/matlabsession_sample.txt.output
 tests/examplefiles/md/example.md
 tests/examplefiles/md/example.md.output
+tests/examplefiles/meson/meson.build
+tests/examplefiles/meson/meson.build.output
 tests/examplefiles/mime/MIME_example.eml
 tests/examplefiles/mime/MIME_example.eml.output
 tests/examplefiles/modelica/Constants.mo
@@ -960,6 +975,8 @@ tests/examplefiles/nit/all.nit
 tests/examplefiles/nit/all.nit.output
 tests/examplefiles/nixos/example.nix
 tests/examplefiles/nixos/example.nix.output
+tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl
+tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl.output
 tests/examplefiles/notmuch/notmuch_example
 tests/examplefiles/notmuch/notmuch_example.output
 tests/examplefiles/nsis/bigtest.nsi
@@ -1040,6 +1057,8 @@ tests/examplefiles/powershell/test.ps1
 tests/examplefiles/powershell/test.ps1.output
 tests/examplefiles/praat/example.praat
 tests/examplefiles/praat/example.praat.output
+tests/examplefiles/procfile/Procfile
+tests/examplefiles/procfile/Procfile.output
 tests/examplefiles/prolog/qsort.prolog
 tests/examplefiles/prolog/qsort.prolog.output
 tests/examplefiles/prolog/sibling.prolog
@@ -1066,12 +1085,22 @@ tests/examplefiles/pypylog/test2.pypylog
 tests/examplefiles/pypylog/test2.pypylog.output
 tests/examplefiles/pytb/database.pytb
 tests/examplefiles/pytb/database.pytb.output
+tests/examplefiles/pytb/error_locations.pytb
+tests/examplefiles/pytb/error_locations.pytb.output
 tests/examplefiles/pytb/py3tb_test.py3tb
 tests/examplefiles/pytb/py3tb_test.py3tb.output
 tests/examplefiles/pytb/pytb_test2.pytb
 tests/examplefiles/pytb/pytb_test2.pytb.output
 tests/examplefiles/pytb/pytb_test3.pytb
 tests/examplefiles/pytb/pytb_test3.pytb.output
+tests/examplefiles/pytb/syntax_error.py2tb
+tests/examplefiles/pytb/syntax_error.py2tb.output
+tests/examplefiles/pytb/syntax_error.pytb
+tests/examplefiles/pytb/syntax_error.pytb.output
+tests/examplefiles/pytb/syntax_error_caret_code.py2tb
+tests/examplefiles/pytb/syntax_error_caret_code.py2tb.output
+tests/examplefiles/pytb/syntax_error_caret_code.pytb
+tests/examplefiles/pytb/syntax_error_caret_code.pytb.output
 tests/examplefiles/pytb/truncated.pytb
 tests/examplefiles/pytb/truncated.pytb.output
 tests/examplefiles/python/linecontinuation.py
@@ -1244,6 +1273,8 @@ tests/examplefiles/smalltalk/Object.st
 tests/examplefiles/smalltalk/Object.st.output
 tests/examplefiles/smarty/smarty_example.html
 tests/examplefiles/smarty/smarty_example.html.output
+tests/examplefiles/smithy/test.smithy
+tests/examplefiles/smithy/test.smithy.output
 tests/examplefiles/sml/example.sml
 tests/examplefiles/sml/example.sml.output
 tests/examplefiles/sml/intsyn.fun
@@ -1552,6 +1583,9 @@ tests/snippets/c/test_label_space_before_colon.txt
 tests/snippets/c/test_numbers.txt
 tests/snippets/c/test_preproc_file.txt
 tests/snippets/c/test_preproc_file2.txt
+tests/snippets/c/test_preproc_file3.txt
+tests/snippets/c/test_preproc_file4.txt
+tests/snippets/c/test_preproc_file5.txt
 tests/snippets/c/test_switch.txt
 tests/snippets/c/test_switch_space_before_colon.txt
 tests/snippets/cfm/test_basic_comment.txt
@@ -1562,8 +1596,10 @@ tests/snippets/console/fake_ps2_prompt.txt
 tests/snippets/console/prompt_in_output.txt
 tests/snippets/console/ps2_prompt.txt
 tests/snippets/console/test_comment_after_prompt.txt
-tests/snippets/console/test_newline_in_echo.txt
-tests/snippets/console/test_newline_in_ls.txt
+tests/snippets/console/test_newline_in_echo_no_ps2.txt
+tests/snippets/console/test_newline_in_echo_ps2.txt
+tests/snippets/console/test_newline_in_ls_no_ps2.txt
+tests/snippets/console/test_newline_in_ls_ps2.txt
 tests/snippets/console/test_virtualenv.txt
 tests/snippets/coq/test_unicode.txt
 tests/snippets/cpp/test_good_comment.txt
@@ -1632,8 +1668,10 @@ tests/snippets/ini/test_indented_entries_2.txt
 tests/snippets/ini/test_indented_entries_3.txt
 tests/snippets/j/test_deal_operator.txt
 tests/snippets/j/test_deal_operator_fixed_seed.txt
+tests/snippets/java/test_default.txt
 tests/snippets/java/test_enhanced_for.txt
 tests/snippets/java/test_numeric_literals.txt
+tests/snippets/jslt/test_sample.txt
 tests/snippets/json/test_basic.txt
 tests/snippets/json/test_basic_bare.txt
 tests/snippets/julia/test_keywords.txt
@@ -1833,6 +1871,8 @@ tests/snippets/ruby/test_operator_methods.txt
 tests/snippets/ruby/test_range_syntax1.txt
 tests/snippets/ruby/test_range_syntax2.txt
 tests/snippets/ruby/test_range_syntax3.txt
+tests/snippets/rust/test_attribute.txt
+tests/snippets/rust/test_break.txt
 tests/snippets/rust/test_rawstrings.txt
 tests/snippets/scala/test_colon_colon_function_name.txt
 tests/snippets/scala/test_default_parameter.txt
@@ -1863,6 +1903,7 @@ tests/snippets/systemverilog/test_basic.txt
 tests/snippets/systemverilog/test_classes.txt
 tests/snippets/systemverilog/test_numbers.txt
 tests/snippets/systemverilog/test_operators.txt
+tests/snippets/tcl/test_comma_and_at.txt
 tests/snippets/teal/test_comments.txt
 tests/snippets/teal/test_literals.txt
 tests/snippets/teal/test_strings.txt
index 6b7be278bc331bc3a704cdca51c208bb81911d57..77b2d565c05f810aeed69787e753f00af7b86af2 100644 (file)
@@ -37,7 +37,7 @@ Pygments is maintained by **Georg Brandl**, e-mail address *georg*\ *@*\ *python
 and **Matthäus Chajdas**.
 
 Many lexers and fixes have been contributed by **Armin Ronacher**, the rest of
-the `Pocoo <https://dev.pocoo.org/>`_ team and **Tim Hatch**.
+the `Pocoo <https://www.pocoo.org/>`_ team and **Tim Hatch**.
 
 The code is distributed under the BSD 2-clause license.  Contributors making pull
 requests must agree that they are able and willing to put their contributions
index 801fc638cbfbeda34b752a4ed45fa866fdd8cc23..f5de675699083afb67526774243e4de795042b3d 100644 (file)
@@ -306,6 +306,12 @@ Punctuation
 `Punctuation`
     For any punctuation which is not an operator (e.g. ``[``, ``(``...)
 
+`Punctuation.Marker`
+    For markers that point to a location (e.g., carets in Python
+    tracebacks for syntax errors).
+
+    .. versionadded:: 2.10
+
 
 Comments
 ========
index 86fde61e1a5f6e794e6333913b1b8882f80d5b4d..54a734528b15a168aa496d9b60d9e2bfb6833606 100644 (file)
@@ -93,6 +93,7 @@ Programming languages
 * `Jasmin <http://jasmin.sourceforge.net/>`_
 * `Jcl <https://en.wikipedia.org/wiki/Job_Control_Language>`_
 * `Julia <https://julialang.org>`_
+* `JSLT <https://github.com/schibsted/jslt>`_
 * `Kotlin <https://kotlinlang.org/>`_
 * `Lasso <http://www.lassosoft.com/>`_ (incl. templating)
 * `Limbo <http://www.vitanuova.com/inferno/limbo.html>`_
@@ -103,6 +104,7 @@ Programming languages
 * `Lua <https://lua.org>`_
 * `Mathematica <https://www.wolfram.com/mathematica/>`_
 * `Matlab <https://www.mathworks.com/products/matlab.html>`_
+* `The Meson Build System <https://mesonbuild.com>`_
 * `MiniScript <https://miniscript.org>`_
 * `Modelica <https://www.modelica.org/>`_
 * `Modula-2 <https://www.modula2.org/>`_
@@ -235,6 +237,7 @@ Other markup
 * Gettext catalogs
 * Gnuplot script
 * Groff markup
+* `GSQL <https://docs.tigergraph.com/dev/gsql-ref>`_
 * Hexdumps
 * HTML
 * HTTP sessions
@@ -263,6 +266,7 @@ Other markup
 * `OMG IDL <https://www.omg.org/spec/IDL/About-IDL/>`_
 * `PEG <https://bford.info/packrat/>`_
 * POV-Ray scenes
+* `Procfile <https://devcenter.heroku.com/articles/procfile#procfile-format>`_
 * `PromQL <https://prometheus.io/docs/prometheus/latest/querying/basics/>`_
 * `Puppet <https://puppet.com/>`_
 * QML
@@ -277,6 +281,7 @@ Other markup
 * Scdoc
 * Sieve
 * Singularity
+* `Smithy <https://awslabs.github.io/smithy/>`_
 * SPARQL
 * SQL, also MySQL, SQLite
 * Squid configuration
index d7e892c39ea7acf65084da1e4dce36b0781f893c..4ffb19f67443d206006d2843498bce801a94c442 100644 (file)
@@ -27,7 +27,7 @@
 import sys
 from io import StringIO, BytesIO
 
-__version__ = '2.9.0'
+__version__ = '2.10.0'
 __docformat__ = 'restructuredtext'
 
 __all__ = ['lex', 'format', 'highlight']
index 9225775cc5e9dde5781645c4ec3b725057d8cc02..926ccc6d3ba267f005f0988ae015f2c4edaf8b6a 100644 (file)
@@ -1,6 +1,6 @@
 """
-    pygments.formatters.pango
-    ~~~~~~~~~~~~~~~~~~~~~~~~~
+    pygments.formatters.pangomarkup
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
     Formatter for Pango markup output.
 
index 89fcb66b3616e4c0d942d99af36801568f2fee36..e7e395dc6a849ba5fde7bc466f374740fae10c81 100644 (file)
@@ -6,7 +6,35 @@
     :license: BSD, see LICENSE for details.
 """
 
-# Opcodes in Csound 6.14.0 using:
+REMOVED_OPCODES = set('''
+OSCsendA
+beadsynt
+beosc
+buchla
+getrowlin
+lua_exec
+lua_iaopcall
+lua_iaopcall_off
+lua_ikopcall
+lua_ikopcall_off
+lua_iopcall
+lua_iopcall_off
+lua_opdef
+mp3scal_check
+mp3scal_load
+mp3scal_load2
+mp3scal_play
+mp3scal_play2
+pvsgendy
+socksend_k
+signalflowgraph
+sumTableFilter
+systime
+tabrowlin
+vbap1move
+'''.split())
+
+# Opcodes in Csound 6.16.0 using:
 #   python3 -c "
 #   import re
 #   from subprocess import Popen, PIPE
@@ -209,6 +237,7 @@ ampmidicurve
 ampmidid
 apoleparams
 arduinoRead
+arduinoReadF
 arduinoStart
 arduinoStop
 areson
@@ -216,6 +245,7 @@ aresonk
 atone
 atonek
 atonex
+autocorr
 babo
 balance
 balance2
@@ -223,8 +253,6 @@ bamboo
 barmodel
 bbcutm
 bbcuts
-beadsynt
-beosc
 betarand
 bexprnd
 bformdec1
@@ -259,6 +287,7 @@ centroid
 ceps
 cepsinv
 chanctrl
+changed
 changed2
 chani
 chano
@@ -293,6 +322,8 @@ cmp
 cmplxprod
 cntCreate
 cntCycles
+cntDelete
+cntDelete_i
 cntRead
 cntReset
 cntState
@@ -342,6 +373,11 @@ ctrl14
 ctrl21
 ctrl7
 ctrlinit
+ctrlpreset
+ctrlprint
+ctrlprintpresets
+ctrlsave
+ctrlselect
 cuserrnd
 dam
 date
@@ -523,7 +559,6 @@ getcfg
 getcol
 getftargs
 getrow
-getrowlin
 getseed
 gogobel
 grain
@@ -776,6 +811,7 @@ lagud
 lastcycle
 lenarray
 lfo
+lfsr
 limit
 limit1
 lincos
@@ -836,14 +872,6 @@ lpreson
 lpshold
 lpsholdp
 lpslot
-lua_exec
-lua_iaopcall
-lua_iaopcall_off
-lua_ikopcall
-lua_ikopcall_off
-lua_iopcall
-lua_iopcall_off
-lua_opdef
 lufs
 mac
 maca
@@ -920,6 +948,7 @@ mp3scal
 mp3sr
 mpulse
 mrtmsg
+ms2st
 mtof
 mton
 multitap
@@ -929,6 +958,7 @@ mvclpf1
 mvclpf2
 mvclpf3
 mvclpf4
+mvmfilter
 mxadsr
 nchnls_hw
 nestedap
@@ -972,6 +1002,7 @@ oscils
 oscilx
 out
 out32
+outall
 outc
 outch
 outh
@@ -1279,11 +1310,13 @@ sc_lagud
 sc_phasor
 sc_trig
 scale
+scale2
 scalearray
 scanhammer
 scans
 scantable
 scanu
+scanu2
 schedkwhen
 schedkwhennamed
 schedule
@@ -1333,6 +1366,7 @@ sin
 sinh
 sininv
 sinsyn
+skf
 sleighbells
 slicearray
 slicearray_i
@@ -1368,12 +1402,14 @@ spat3d
 spat3di
 spat3dt
 spdist
+spf
 splitrig
 sprintf
 sprintfk
 spsend
 sqrt
 squinewave
+st2ms
 statevar
 sterrain
 stix
@@ -1414,6 +1450,7 @@ subinstrinit
 sum
 sumarray
 svfilter
+svn
 syncgrain
 syncloop
 syncphasor
@@ -1454,7 +1491,6 @@ tabmorphak
 tabmorphi
 tabplay
 tabrec
-tabrowlin
 tabsum
 tabw
 tabw_i
@@ -1486,6 +1522,8 @@ transegr
 trcross
 trfilter
 trhighest
+trigExpseg
+trigLinseg
 trigger
 trighold
 trigphasor
@@ -1500,6 +1538,8 @@ trshift
 trsplit
 turnoff
 turnoff2
+turnoff2_i
+turnoff3
 turnon
 tvconv
 unirand
@@ -1523,6 +1563,7 @@ vbapmove
 vbapz
 vbapzmove
 vcella
+vclpf
 vco
 vco2
 vco2ft
@@ -1611,6 +1652,7 @@ window
 wrap
 writescratch
 wterrain
+wterrain2
 xadsr
 xin
 xout
@@ -1647,7 +1689,6 @@ DEPRECATED_OPCODES = set('''
 array
 bformdec
 bformenc
-changed
 copy2ftab
 copy2ttab
 hrtfer
index aab8bde44170e663bf7cb0bb41d5e2af908d739a..24e3668db5f069a497d0b752651955f6ab317c18 100644 (file)
@@ -41,6 +41,7 @@ LEXERS = {
     'AppleScriptLexer': ('pygments.lexers.scripting', 'AppleScript', ('applescript',), ('*.applescript',), ()),
     'ArduinoLexer': ('pygments.lexers.c_like', 'Arduino', ('arduino',), ('*.ino',), ('text/x-arduino',)),
     'ArrowLexer': ('pygments.lexers.arrow', 'Arrow', ('arrow',), ('*.arw',), ()),
+    'AscLexer': ('pygments.lexers.asc', 'ASCII armored', ('asc', 'pem'), ('*.asc', '*.pem', 'id_dsa', 'id_ecdsa', 'id_ecdsa_sk', 'id_ed25519', 'id_ed25519_sk', 'id_rsa'), ('application/pgp-keys', 'application/pgp-encrypted', 'application/pgp-signature')),
     'AspectJLexer': ('pygments.lexers.jvm', 'AspectJ', ('aspectj',), ('*.aj',), ('text/x-aspectj',)),
     'AsymptoteLexer': ('pygments.lexers.graphics', 'Asymptote', ('asymptote', 'asy'), ('*.asy',), ('text/x-asymptote',)),
     'AugeasLexer': ('pygments.lexers.configs', 'Augeas', ('augeas',), ('*.aug',), ()),
@@ -175,6 +176,7 @@ LEXERS = {
     'GAPLexer': ('pygments.lexers.algebra', 'GAP', ('gap',), ('*.g', '*.gd', '*.gi', '*.gap'), ()),
     'GDScriptLexer': ('pygments.lexers.gdscript', 'GDScript', ('gdscript', 'gd'), ('*.gd',), ('text/x-gdscript', 'application/x-gdscript')),
     'GLShaderLexer': ('pygments.lexers.graphics', 'GLSL', ('glsl',), ('*.vert', '*.frag', '*.geo'), ('text/x-glslsrc',)),
+    'GSQLLexer': ('pygments.lexers.gsql', 'GSQL', ('gsql',), ('*.gsql',), ()),
     'GasLexer': ('pygments.lexers.asm', 'GAS', ('gas', 'asm'), ('*.s', '*.S'), ('text/x-gas',)),
     'GcodeLexer': ('pygments.lexers.gcodelexer', 'g-code', ('gcode',), ('*.gcode',), ()),
     'GenshiLexer': ('pygments.lexers.templates', 'Genshi', ('genshi', 'kid', 'xml+genshi', 'xml+kid'), ('*.kid',), ('application/x-genshi', 'application/x-kid')),
@@ -182,7 +184,7 @@ LEXERS = {
     'GettextLexer': ('pygments.lexers.textfmts', 'Gettext Catalog', ('pot', 'po'), ('*.pot', '*.po'), ('application/x-gettext', 'text/x-gettext', 'text/gettext')),
     'GherkinLexer': ('pygments.lexers.testing', 'Gherkin', ('gherkin', 'cucumber'), ('*.feature',), ('text/x-gherkin',)),
     'GnuplotLexer': ('pygments.lexers.graphics', 'Gnuplot', ('gnuplot',), ('*.plot', '*.plt'), ('text/x-gnuplot',)),
-    'GoLexer': ('pygments.lexers.go', 'Go', ('go',), ('*.go',), ('text/x-gosrc',)),
+    'GoLexer': ('pygments.lexers.go', 'Go', ('go', 'golang'), ('*.go',), ('text/x-gosrc',)),
     'GoloLexer': ('pygments.lexers.jvm', 'Golo', ('golo',), ('*.golo',), ()),
     'GoodDataCLLexer': ('pygments.lexers.business', 'GoodData-CL', ('gooddata-cl',), ('*.gdc',), ('text/x-gooddata-cl',)),
     'GosuLexer': ('pygments.lexers.jvm', 'Gosu', ('gosu',), ('*.gs', '*.gsx', '*.gsp', '*.vark'), ('text/x-gosu',)),
@@ -215,12 +217,13 @@ LEXERS = {
     'Inform6Lexer': ('pygments.lexers.int_fiction', 'Inform 6', ('inform6', 'i6'), ('*.inf',), ()),
     'Inform6TemplateLexer': ('pygments.lexers.int_fiction', 'Inform 6 template', ('i6t',), ('*.i6t',), ()),
     'Inform7Lexer': ('pygments.lexers.int_fiction', 'Inform 7', ('inform7', 'i7'), ('*.ni', '*.i7x'), ()),
-    'IniLexer': ('pygments.lexers.configs', 'INI', ('ini', 'cfg', 'dosini'), ('*.ini', '*.cfg', '*.inf'), ('text/x-ini', 'text/inf')),
+    'IniLexer': ('pygments.lexers.configs', 'INI', ('ini', 'cfg', 'dosini'), ('*.ini', '*.cfg', '*.inf', '*.service', '*.socket', '*.device', '*.mount', '*.automount', '*.swap', '*.target', '*.path', '*.timer', '*.slice', '*.scope'), ('text/x-ini', 'text/inf')),
     'IoLexer': ('pygments.lexers.iolang', 'Io', ('io',), ('*.io',), ('text/x-iosrc',)),
     'IokeLexer': ('pygments.lexers.jvm', 'Ioke', ('ioke', 'ik'), ('*.ik',), ('text/x-iokesrc',)),
     'IrcLogsLexer': ('pygments.lexers.textfmts', 'IRC logs', ('irc',), ('*.weechatlog',), ('text/x-irclog',)),
     'IsabelleLexer': ('pygments.lexers.theorem', 'Isabelle', ('isabelle',), ('*.thy',), ('text/x-isabelle',)),
     'JLexer': ('pygments.lexers.j', 'J', ('j',), ('*.ijs',), ('text/x-j',)),
+    'JSLTLexer': ('pygments.lexers.jslt', 'JSLT', ('jslt',), ('*.jslt',), ('text/x-jslt',)),
     'JagsLexer': ('pygments.lexers.modeling', 'JAGS', ('jags',), ('*.jag', '*.bug'), ()),
     'JasminLexer': ('pygments.lexers.jvm', 'Jasmin', ('jasmin', 'jasminxt'), ('*.j',), ()),
     'JavaLexer': ('pygments.lexers.jvm', 'Java', ('java',), ('*.java',), ('text/x-java',)),
@@ -283,6 +286,7 @@ LEXERS = {
     'MathematicaLexer': ('pygments.lexers.algebra', 'Mathematica', ('mathematica', 'mma', 'nb'), ('*.nb', '*.cdf', '*.nbp', '*.ma'), ('application/mathematica', 'application/vnd.wolfram.mathematica', 'application/vnd.wolfram.mathematica.package', 'application/vnd.wolfram.cdf')),
     'MatlabLexer': ('pygments.lexers.matlab', 'Matlab', ('matlab',), ('*.m',), ('text/matlab',)),
     'MatlabSessionLexer': ('pygments.lexers.matlab', 'Matlab session', ('matlabsession',), (), ()),
+    'MesonLexer': ('pygments.lexers.meson', 'Meson', ('meson', 'meson.build'), ('meson.build', 'meson_options.txt'), ('text/x-meson',)),
     'MiniDLexer': ('pygments.lexers.d', 'MiniD', ('minid',), (), ('text/x-minidsrc',)),
     'MiniScriptLexer': ('pygments.lexers.scripting', 'MiniScript', ('miniscript', 'ms'), ('*.ms',), ('text/x-minicript', 'application/x-miniscript')),
     'ModelicaLexer': ('pygments.lexers.modeling', 'Modelica', ('modelica',), ('*.mo',), ('text/x-modelica',)),
@@ -320,6 +324,7 @@ LEXERS = {
     'NimrodLexer': ('pygments.lexers.nimrod', 'Nimrod', ('nimrod', 'nim'), ('*.nim', '*.nimrod'), ('text/x-nim',)),
     'NitLexer': ('pygments.lexers.nit', 'Nit', ('nit',), ('*.nit',), ()),
     'NixLexer': ('pygments.lexers.nix', 'Nix', ('nixos', 'nix'), ('*.nix',), ('text/x-nix',)),
+    'NodeConsoleLexer': ('pygments.lexers.javascript', 'Node.js REPL console session', ('nodejsrepl',), (), ('text/x-nodejsrepl',)),
     'NotmuchLexer': ('pygments.lexers.textfmts', 'Notmuch', ('notmuch',), (), ()),
     'NuSMVLexer': ('pygments.lexers.smv', 'NuSMV', ('nusmv',), ('*.smv',), ()),
     'NumPyLexer': ('pygments.lexers.python', 'NumPy', ('numpy',), (), ()),
@@ -334,6 +339,7 @@ LEXERS = {
     'OocLexer': ('pygments.lexers.ooc', 'Ooc', ('ooc',), ('*.ooc',), ('text/x-ooc',)),
     'OpaLexer': ('pygments.lexers.ml', 'Opa', ('opa',), ('*.opa',), ('text/x-opa',)),
     'OpenEdgeLexer': ('pygments.lexers.business', 'OpenEdge ABL', ('openedge', 'abl', 'progress'), ('*.p', '*.cls'), ('text/x-openedge', 'application/x-openedge')),
+    'OutputLexer': ('pygments.lexers.special', 'Text output', ('output',), (), ()),
     'PacmanConfLexer': ('pygments.lexers.configs', 'PacmanConf', ('pacmanconf',), ('pacman.conf',), ()),
     'PanLexer': ('pygments.lexers.dsls', 'Pan', ('pan',), ('*.pan',), ()),
     'ParaSailLexer': ('pygments.lexers.parasail', 'ParaSail', ('parasail',), ('*.psi', '*.psl'), ('text/x-parasail',)),
@@ -352,9 +358,10 @@ LEXERS = {
     'PostgresConsoleLexer': ('pygments.lexers.sql', 'PostgreSQL console (psql)', ('psql', 'postgresql-console', 'postgres-console'), (), ('text/x-postgresql-psql',)),
     'PostgresLexer': ('pygments.lexers.sql', 'PostgreSQL SQL dialect', ('postgresql', 'postgres'), (), ('text/x-postgresql',)),
     'PovrayLexer': ('pygments.lexers.graphics', 'POVRay', ('pov',), ('*.pov', '*.inc'), ('text/x-povray',)),
-    'PowerShellLexer': ('pygments.lexers.shell', 'PowerShell', ('powershell', 'posh', 'ps1', 'psm1'), ('*.ps1', '*.psm1'), ('text/x-powershell',)),
-    'PowerShellSessionLexer': ('pygments.lexers.shell', 'PowerShell Session', ('ps1con',), (), ()),
+    'PowerShellLexer': ('pygments.lexers.shell', 'PowerShell', ('powershell', 'pwsh', 'posh', 'ps1', 'psm1'), ('*.ps1', '*.psm1'), ('text/x-powershell',)),
+    'PowerShellSessionLexer': ('pygments.lexers.shell', 'PowerShell Session', ('pwsh-session', 'ps1con'), (), ()),
     'PraatLexer': ('pygments.lexers.praat', 'Praat', ('praat',), ('*.praat', '*.proc', '*.psc'), ()),
+    'ProcfileLexer': ('pygments.lexers.procfile', 'Procfile', ('procfile',), ('Procfile',), ()),
     'PrologLexer': ('pygments.lexers.prolog', 'Prolog', ('prolog',), ('*.ecl', '*.prolog', '*.pro', '*.pl'), ('text/x-prolog',)),
     'PromQLLexer': ('pygments.lexers.promql', 'PromQL', ('promql',), ('*.promql',), ()),
     'PropertiesLexer': ('pygments.lexers.configs', 'Properties', ('properties', 'jproperties'), ('*.properties',), ('text/x-java-properties',)),
@@ -427,6 +434,7 @@ LEXERS = {
     'SmalltalkLexer': ('pygments.lexers.smalltalk', 'Smalltalk', ('smalltalk', 'squeak', 'st'), ('*.st',), ('text/x-smalltalk',)),
     'SmartGameFormatLexer': ('pygments.lexers.sgf', 'SmartGameFormat', ('sgf',), ('*.sgf',), ()),
     'SmartyLexer': ('pygments.lexers.templates', 'Smarty', ('smarty',), ('*.tpl',), ('application/x-smarty',)),
+    'SmithyLexer': ('pygments.lexers.smithy', 'Smithy', ('smithy',), ('*.smithy',), ()),
     'SnobolLexer': ('pygments.lexers.snobol', 'Snobol', ('snobol',), ('*.snobol',), ('text/x-snobol',)),
     'SnowballLexer': ('pygments.lexers.dsls', 'Snowball', ('snowball',), ('*.sbl',), ()),
     'SolidityLexer': ('pygments.lexers.solidity', 'Solidity', ('solidity',), ('*.sol',), ()),
@@ -468,7 +476,7 @@ LEXERS = {
     'TurtleLexer': ('pygments.lexers.rdf', 'Turtle', ('turtle',), ('*.ttl',), ('text/turtle', 'application/x-turtle')),
     'TwigHtmlLexer': ('pygments.lexers.templates', 'HTML+Twig', ('html+twig',), ('*.twig',), ('text/html+twig',)),
     'TwigLexer': ('pygments.lexers.templates', 'Twig', ('twig',), (), ('application/x-twig',)),
-    'TypeScriptLexer': ('pygments.lexers.javascript', 'TypeScript', ('typescript', 'ts'), ('*.ts', '*.tsx'), ('text/x-typescript',)),
+    'TypeScriptLexer': ('pygments.lexers.javascript', 'TypeScript', ('typescript', 'ts'), ('*.ts',), ('application/x-typescript', 'text/x-typescript')),
     'TypoScriptCssDataLexer': ('pygments.lexers.typoscript', 'TypoScriptCssData', ('typoscriptcssdata',), (), ()),
     'TypoScriptHtmlDataLexer': ('pygments.lexers.typoscript', 'TypoScriptHtmlData', ('typoscripthtmldata',), (), ()),
     'TypoScriptLexer': ('pygments.lexers.typoscript', 'TypoScript', ('typoscript',), ('*.typoscript',), ('text/x-typoscript',)),
diff --git a/pygments/lexers/asc.py b/pygments/lexers/asc.py
new file mode 100644 (file)
index 0000000..f775fd0
--- /dev/null
@@ -0,0 +1,51 @@
+"""
+    pygments.lexers.asc
+    ~~~~~~~~~~~~~~~~~~~
+
+    Lexer for various ASCII armored files.
+
+    :copyright: Copyright 2021 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+import re
+
+from pygments.lexer import RegexLexer, bygroups
+from pygments.token import Comment, Generic, Name, Operator, String, Whitespace
+
+__all__ = ['AscLexer']
+
+
+class AscLexer(RegexLexer):
+    """
+    Lexer for ASCII armored files, containing `-----BEGIN/END ...-----` wrapped base64 data.
+
+    .. versionadded:: 2.10
+    """
+    name = 'ASCII armored'
+    aliases = ['asc', 'pem']
+    filenames = [
+        '*.asc',  # PGP; *.gpg, *.pgp, and *.sig too, but those can be binary
+        '*.pem',  # X.509; *.cer, *.crt, *.csr, and key etc too, but those can be binary
+        'id_dsa', 'id_ecdsa', 'id_ecdsa_sk', 'id_ed25519', 'id_ed25519_sk', 'id_rsa',  # SSH private keys
+    ]
+    mimetypes = ['application/pgp-keys', 'application/pgp-encrypted', 'application/pgp-signature']
+
+    flags = re.MULTILINE
+
+    tokens = {
+        'root': [
+            (r'\s+', Whitespace),
+            (r'^-----BEGIN [^\n]+-----$', Generic.Heading, 'data'),
+            (r'\S+', Comment),
+        ],
+        'data': [
+            (r'\s+', Whitespace),
+            (r'^([^:]+)(:)([ \t]+)(.*)', bygroups(Name.Attribute, Operator, Whitespace, String)),
+            (r'^-----END [^\n]+-----$', Generic.Heading, 'root'),
+            (r'\S+', String),
+        ],
+    }
+
+    def analyse_text(text):
+        if re.search(r'^-----BEGIN [^\n]+-----\r?\n', text):
+            return True
index d7e3e4baf63116829df41b20a5d1454a6331d84c..f83abdef4e0d590bcd7fbaa7584d2a701c5f8ac8 100644 (file)
@@ -353,13 +353,14 @@ class LlvmLexer(RegexLexer):
     #: optional Comment or Whitespace
     string = r'"[^"]*?"'
     identifier = r'([-a-zA-Z$._][\w\-$.]*|' + string + ')'
+    block_label = r'(' + identifier + r'|(\d+))'
 
     tokens = {
         'root': [
             include('whitespace'),
 
             # Before keywords, because keywords are valid label names :(...
-            (identifier + r'\s*:', Name.Label),
+            (block_label + r'\s*:', Name.Label),
 
             include('keyword'),
 
@@ -384,68 +385,95 @@ class LlvmLexer(RegexLexer):
         'keyword': [
             # Regular keywords
             (words((
-                'acq_rel', 'acquire', 'add', 'addrspace', 'addrspacecast', 'afn', 'alias',
-                'aliasee', 'align', 'alignLog2', 'alignstack', 'alloca', 'allocsize', 'allOnes',
-                'alwaysinline', 'amdgpu_cs', 'amdgpu_es', 'amdgpu_gs', 'amdgpu_hs',
-                'amdgpu_kernel', 'amdgpu_ls', 'amdgpu_ps', 'amdgpu_vs', 'and', 'any',
-                'anyregcc', 'appending', 'arcp', 'argmemonly', 'args', 'arm_aapcs_vfpcc',
-                'arm_aapcscc', 'arm_apcscc', 'ashr', 'asm', 'atomic', 'atomicrmw', 'attributes',
-                'available_externally', 'avr_intrcc', 'avr_signalcc', 'bit', 'bitcast',
-                'bitMask', 'blockaddress', 'br', 'branchFunnel', 'builtin', 'byArg', 'byte',
-                'byteArray', 'byval', 'c', 'call', 'callee', 'caller', 'calls', 'catch',
-                'catchpad', 'catchret', 'catchswitch', 'cc', 'ccc', 'cleanup', 'cleanuppad',
-                'cleanupret', 'cmpxchg', 'cold', 'coldcc', 'comdat', 'common', 'constant',
-                'contract', 'convergent', 'critical', 'cxx_fast_tlscc', 'datalayout', 'declare',
-                'default', 'define', 'deplibs', 'dereferenceable', 'dereferenceable_or_null',
-                'distinct', 'dllexport', 'dllimport', 'dso_local', 'dso_preemptable',
-                'dsoLocal', 'eq', 'exact', 'exactmatch', 'extern_weak', 'external',
-                'externally_initialized', 'extractelement', 'extractvalue', 'fadd', 'false',
-                'fast', 'fastcc', 'fcmp', 'fdiv', 'fence', 'filter', 'flags', 'fmul',
-                'fpext', 'fptosi', 'fptoui', 'fptrunc', 'freeze', 'frem', 'from', 'fsub',
-                'funcFlags', 'function', 'gc', 'getelementptr', 'ghccc', 'global', 'guid', 'gv',
-                'hash', 'hhvm_ccc', 'hhvmcc', 'hidden', 'hot', 'hotness', 'icmp',
-                'ifunc', 'inaccessiblemem_or_argmemonly', 'inaccessiblememonly', 'inalloca',
-                'inbounds', 'indir', 'indirectbr', 'info', 'initialexec', 'inline',
-                'inlineBits', 'inlinehint', 'inrange', 'inreg', 'insertelement', 'insertvalue',
-                'insts', 'intel_ocl_bicc', 'inteldialect', 'internal', 'inttoptr', 'invoke',
-                'jumptable', 'kind', 'landingpad', 'largest', 'linkage', 'linkonce',
-                'linkonce_odr', 'live', 'load', 'local_unnamed_addr', 'localdynamic',
-                'localexec', 'lshr', 'max', 'metadata', 'min', 'minsize', 'module', 'monotonic',
-                'msp430_intrcc', 'mul', 'musttail', 'naked', 'name', 'nand', 'ne', 'nest',
-                'ninf', 'nnan', 'noalias', 'nobuiltin', 'nocapture', 'nocf_check',
-                'noduplicate', 'noduplicates', 'noimplicitfloat', 'noinline', 'none',
-                'nonlazybind', 'nonnull', 'norecurse', 'noRecurse', 'noredzone', 'noreturn',
-                'notail', 'notEligibleToImport', 'nounwind', 'nsw', 'nsz', 'null', 'nuw', 'oeq',
-                'offset', 'oge', 'ogt', 'ole', 'olt', 'one', 'opaque', 'optforfuzzing',
-                'optnone', 'optsize', 'or', 'ord', 'path', 'personality', 'phi', 'poison',
-                'prefix', 'preserve_allcc', 'preserve_mostcc', 'private', 'prologue',
-                'protected', 'ptrtoint', 'ptx_device', 'ptx_kernel', 'readnone', 'readNone',
-                'readonly', 'readOnly', 'reassoc', 'refs', 'relbf', 'release', 'resByArg',
-                'resume', 'ret', 'returnDoesNotAlias', 'returned', 'returns_twice', 'safestack',
-                'samesize', 'sanitize_address', 'sanitize_hwaddress', 'sanitize_memory',
-                'sanitize_thread', 'sdiv', 'section', 'select', 'seq_cst', 'sext', 'sge', 'sgt',
-                'shadowcallstack', 'shl', 'shufflevector', 'sideeffect', 'signext', 'single',
-                'singleImpl', 'singleImplName', 'sitofp', 'sizeM1', 'sizeM1BitWidth', 'sle',
-                'slt', 'source_filename', 'speculatable', 'spir_func', 'spir_kernel', 'srem',
-                'sret', 'ssp', 'sspreq', 'sspstrong', 'store', 'strictfp', 'sub', 'summaries',
-                'summary', 'swiftcc', 'swifterror', 'swiftself', 'switch', 'syncscope', 'tail',
-                'target', 'thread_local', 'to', 'token', 'triple', 'true', 'trunc', 'type',
-                'typeCheckedLoadConstVCalls', 'typeCheckedLoadVCalls', 'typeid', 'typeIdInfo',
-                'typeTestAssumeConstVCalls', 'typeTestAssumeVCalls', 'typeTestRes', 'typeTests',
-                'udiv', 'ueq', 'uge', 'ugt', 'uitofp', 'ule', 'ult', 'umax', 'umin', 'undef',
-                'une', 'uniformRetVal', 'uniqueRetVal', 'unknown', 'unnamed_addr', 'uno',
-                'unordered', 'unreachable', 'unsat', 'unwind', 'urem', 'uselistorder',
-                'uselistorder_bb', 'uwtable', 'va_arg', 'variable', 'vFuncId',
-                'virtualConstProp', 'void', 'volatile', 'weak', 'weak_odr', 'webkit_jscc',
+                'aarch64_sve_vector_pcs', 'aarch64_vector_pcs', 'acq_rel',
+                'acquire', 'add', 'addrspace', 'addrspacecast', 'afn', 'alias',
+                'aliasee', 'align', 'alignLog2', 'alignstack', 'alloca',
+                'allocsize', 'allOnes', 'alwaysinline', 'alwaysInline',
+                'amdgpu_cs', 'amdgpu_es', 'amdgpu_gfx', 'amdgpu_gs',
+                'amdgpu_hs', 'amdgpu_kernel', 'amdgpu_ls', 'amdgpu_ps',
+                'amdgpu_vs', 'and', 'any', 'anyregcc', 'appending', 'arcp',
+                'argmemonly', 'args', 'arm_aapcs_vfpcc', 'arm_aapcscc',
+                'arm_apcscc', 'ashr', 'asm', 'atomic', 'atomicrmw',
+                'attributes', 'available_externally', 'avr_intrcc',
+                'avr_signalcc', 'bit', 'bitcast', 'bitMask', 'blockaddress',
+                'blockcount', 'br', 'branchFunnel', 'builtin', 'byArg',
+                'byref', 'byte', 'byteArray', 'byval', 'c', 'call', 'callbr',
+                'callee', 'caller', 'calls', 'canAutoHide', 'catch',
+                'catchpad', 'catchret', 'catchswitch', 'cc', 'ccc',
+                'cfguard_checkcc', 'cleanup', 'cleanuppad', 'cleanupret',
+                'cmpxchg', 'cold', 'coldcc', 'comdat', 'common', 'constant',
+                'contract', 'convergent', 'critical', 'cxx_fast_tlscc',
+                'datalayout', 'declare', 'default', 'define', 'deplibs',
+                'dereferenceable', 'dereferenceable_or_null', 'distinct',
+                'dllexport', 'dllimport', 'dso_local', 'dso_local_equivalent',
+                'dso_preemptable', 'dsoLocal', 'eq', 'exact', 'exactmatch',
+                'extern_weak', 'external', 'externally_initialized',
+                'extractelement', 'extractvalue', 'fadd', 'false', 'fast',
+                'fastcc', 'fcmp', 'fdiv', 'fence', 'filter', 'flags', 'fmul',
+                'fneg', 'fpext', 'fptosi', 'fptoui', 'fptrunc', 'freeze',
+                'frem', 'from', 'fsub', 'funcFlags', 'function', 'gc',
+                'getelementptr', 'ghccc', 'global', 'guid', 'gv', 'hash',
+                'hhvm_ccc', 'hhvmcc', 'hidden', 'hot', 'hotness', 'icmp',
+                'ifunc', 'inaccessiblemem_or_argmemonly',
+                'inaccessiblememonly', 'inalloca', 'inbounds', 'indir',
+                'indirectbr', 'info', 'initialexec', 'inline', 'inlineBits',
+                'inlinehint', 'inrange', 'inreg', 'insertelement',
+                'insertvalue', 'insts', 'intel_ocl_bicc', 'inteldialect',
+                'internal', 'inttoptr', 'invoke', 'jumptable', 'kind',
+                'landingpad', 'largest', 'linkage', 'linkonce', 'linkonce_odr',
+                'live', 'load', 'local_unnamed_addr', 'localdynamic',
+                'localexec', 'lshr', 'max', 'metadata', 'min', 'minsize',
+                'module', 'monotonic', 'msp430_intrcc', 'mul', 'mustprogress',
+                'musttail', 'naked', 'name', 'nand', 'ne', 'nest', 'ninf',
+                'nnan', 'noalias', 'nobuiltin', 'nocallback', 'nocapture',
+                'nocf_check', 'noduplicate', 'noduplicates', 'nofree',
+                'noimplicitfloat', 'noinline', 'noInline', 'nomerge', 'none',
+                'nonlazybind', 'nonnull', 'noprofile', 'norecurse',
+                'noRecurse', 'noredzone', 'noreturn', 'nosync', 'notail',
+                'notEligibleToImport', 'noundef', 'nounwind', 'nsw',
+                'nsz', 'null', 'null_pointer_is_valid', 'nuw', 'oeq', 'offset',
+                'oge', 'ogt', 'ole', 'olt', 'one', 'opaque', 'optforfuzzing',
+                'optnone', 'optsize', 'or', 'ord', 'param', 'params',
+                'partition', 'path', 'personality', 'phi', 'poison',
+                'preallocated', 'prefix', 'preserve_allcc', 'preserve_mostcc',
+                'private', 'prologue', 'protected', 'ptrtoint', 'ptx_device',
+                'ptx_kernel', 'readnone', 'readNone', 'readonly', 'readOnly',
+                'reassoc', 'refs', 'relbf', 'release', 'resByArg', 'resume',
+                'ret', 'returnDoesNotAlias', 'returned', 'returns_twice',
+                'safestack', 'samesize', 'sanitize_address',
+                'sanitize_hwaddress', 'sanitize_memory', 'sanitize_memtag',
+                'sanitize_thread', 'sdiv', 'section', 'select', 'seq_cst',
+                'sext', 'sge', 'sgt', 'shadowcallstack', 'shl',
+                'shufflevector', 'sideeffect', 'signext', 'single',
+                'singleImpl', 'singleImplName', 'sitofp', 'sizeM1',
+                'sizeM1BitWidth', 'sle', 'slt', 'source_filename',
+                'speculatable', 'speculative_load_hardening', 'spir_func',
+                'spir_kernel', 'srem', 'sret', 'ssp', 'sspreq', 'sspstrong',
+                'store', 'strictfp', 'sub', 'summaries', 'summary', 'swiftcc',
+                'swifterror', 'swiftself', 'switch', 'syncscope', 'tail',
+                'tailcc', 'target', 'thread_local', 'to', 'token', 'triple',
+                'true', 'trunc', 'type', 'typeCheckedLoadConstVCalls',
+                'typeCheckedLoadVCalls', 'typeid', 'typeidCompatibleVTable',
+                'typeIdInfo', 'typeTestAssumeConstVCalls',
+                'typeTestAssumeVCalls', 'typeTestRes', 'typeTests', 'udiv',
+                'ueq', 'uge', 'ugt', 'uitofp', 'ule', 'ult', 'umax', 'umin',
+                'undef', 'une', 'uniformRetVal', 'uniqueRetVal', 'unknown',
+                'unnamed_addr', 'uno', 'unordered', 'unreachable', 'unsat',
+                'unwind', 'urem', 'uselistorder', 'uselistorder_bb', 'uwtable',
+                'va_arg', 'varFlags', 'variable', 'vcall_visibility',
+                'vFuncId', 'virtFunc', 'virtualConstProp', 'void', 'volatile',
+                'vscale', 'vTableFuncs', 'weak', 'weak_odr', 'webkit_jscc',
                 'win64cc', 'within', 'wpdRes', 'wpdResolutions', 'writeonly',
-                'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc', 'x86_mmx',
-                'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc', 'x86_vectorcallcc', 'xchg',
-                'xor', 'zeroext', 'zeroinitializer', 'zext', 'immarg', 'willreturn'),
+                'x', 'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc',
+                'x86_mmx', 'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc',
+                'x86_vectorcallcc', 'xchg', 'xor', 'zeroext',
+                'zeroinitializer', 'zext', 'immarg', 'willreturn'),
                 suffix=r'\b'), Keyword),
 
             # Types
             (words(('void', 'half', 'bfloat', 'float', 'double', 'fp128',
-                    'x86_fp80', 'ppc_fp128', 'label', 'metadata', 'token')),
+                    'x86_fp80', 'ppc_fp128', 'label', 'metadata', 'x86_mmx',
+                    'x86_amx', 'token')),
                    Keyword.Type),
 
             # Integer types
index 021008240d0093d48c778008210183b0b6964573..bb572d6e304e2b401a45c3ff1d683f025579ff21 100644 (file)
@@ -154,6 +154,6 @@ class BSTLexer(RegexLexer):
         ],
         'whitespace': [
             (r'\s+', Text),
-            ('%.*?$', Comment.SingleLine),
+            ('%.*?$', Comment.Single),
         ],
     }
index 059b9be3c22946788f66e7d1313a07a4ae3aec23..cf9a3d260cac67604ab49ac13f4c029f8b714e69 100644 (file)
@@ -14,7 +14,7 @@ from pygments.lexer import RegexLexer, include, bygroups, using, \
     this, inherit, default, words
 from pygments.util import get_bool_opt
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number, Punctuation
+    Number, Punctuation, Whitespace
 
 __all__ = ['CLexer', 'CppLexer']
 
@@ -55,8 +55,8 @@ class CFamilyLexer(RegexLexer):
              bygroups(using(this), Comment.Preproc), 'if0'),
             ('^(' + _ws1 + ')(#)',
              bygroups(using(this), Comment.Preproc), 'macro'),
-            (r'\n', Text),
-            (r'\s+', Text),
+            (r'\n', Whitespace),
+            (r'[^\S\n]+', Whitespace),
             (r'\\\n', Text),  # line continuation
             (r'//(\n|[\w\W]*?[^\\]\n)', Comment.Single),
             (r'/(\\\n)?[*][\w\W]*?[*](\\\n)?/', Comment.Multiline),
index 72b346425570ca6360f58363b4a62e127f8e7f34..99eb17c9d328b93d3218caf6df9257d5e61dfb38 100644 (file)
@@ -164,7 +164,7 @@ class CddlLexer(RegexLexer):
                 Number.Float,
             ),
             # Int
-            (_re_int, Number.Int),
+            (_re_int, Number.Integer),
             (r'"(\\\\|\\"|[^"])*"', String.Double),
         ],
         "bstrb64url": [
index bf1d4099386862135583a8ad9f5035c8659e46a0..579cf7c30d53bdbf5e04b22e35d1b30e633cf374 100644 (file)
@@ -59,15 +59,15 @@ class CleanLexer(ExtendedRegexLexer):
         ],
         'comments': [
             (r'//.*\n', Comment.Single),
-            (r'/\*', Comment.Multi, 'comments.in'),
+            (r'/\*', Comment.Multiline, 'comments.in'),
             (r'/\*\*', Comment.Special, 'comments.in'),
         ],
         'comments.in': [
-            (r'\*\/', Comment.Multi, '#pop'),
-            (r'/\*', Comment.Multi, '#push'),
-            (r'[^*/]+', Comment.Multi),
-            (r'\*(?!/)', Comment.Multi),
-            (r'/', Comment.Multi),
+            (r'\*\/', Comment.Multiline, '#pop'),
+            (r'/\*', Comment.Multiline, '#push'),
+            (r'[^*/]+', Comment.Multiline),
+            (r'\*(?!/)', Comment.Multiline),
+            (r'/', Comment.Multiline),
         ],
         'keywords': [
             (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword),
index 927896fb734d044bd0f1d63e99cc9a34663ca0b2..c728e74a85408247c906a7f9b6d4a6296e0f586e 100644 (file)
@@ -31,7 +31,13 @@ class IniLexer(RegexLexer):
 
     name = 'INI'
     aliases = ['ini', 'cfg', 'dosini']
-    filenames = ['*.ini', '*.cfg', '*.inf']
+    filenames = [
+        '*.ini', '*.cfg', '*.inf',
+        # systemd unit files
+        # https://www.freedesktop.org/software/systemd/man/systemd.unit.html
+        '*.service', '*.socket', '*.device', '*.mount', '*.automount',
+        '*.swap', '*.target', '*.path', '*.timer', '*.slice', '*.scope',
+    ]
     mimetypes = ['text/x-ini', 'text/inf']
 
     tokens = {
@@ -962,9 +968,12 @@ class TOMLLexer(RegexLexer):
 
     tokens = {
         'root': [
+            # Table
+            (r'^(\s*)(\[.*?\])$', bygroups(Text, Keyword)),
 
             # Basics, comments, strings
-            (r'\s+', Text),
+            (r'[ \t]+', Text),
+            (r'\n', Text),
             (r'#.*?$', Comment.Single),
             # Basic string
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
@@ -974,7 +983,6 @@ class TOMLLexer(RegexLexer):
             (r'(true|false)$', Keyword.Constant),
             (r'[a-zA-Z_][\w\-]*', Name),
 
-            (r'\[.*?\]$', Keyword),
             # Datetime
             # TODO this needs to be expanded, as TOML is rather flexible:
             # https://github.com/toml-lang/toml#offset-date-time
index b969aa65636ac9b30ef341e07cc94110bcbb8c32..7b49dc29ffc6344e6a7bebc7094944b696fab348 100644 (file)
@@ -13,7 +13,7 @@ import re
 from pygments.lexer import RegexLexer, bygroups, default, include, using, words
 from pygments.token import Comment, Error, Keyword, Name, Number, Operator, Punctuation, \
     String, Text, Whitespace
-from pygments.lexers._csound_builtins import OPCODES, DEPRECATED_OPCODES
+from pygments.lexers._csound_builtins import OPCODES, DEPRECATED_OPCODES, REMOVED_OPCODES
 from pygments.lexers.html import HtmlLexer
 from pygments.lexers.python import PythonLexer
 from pygments.lexers.scripting import LuaLexer
@@ -219,7 +219,7 @@ class CsoundOrchestraLexer(CsoundLexer):
         type_annotation_token = Keyword.Type
 
         name = match.group(1)
-        if name in OPCODES or name in DEPRECATED_OPCODES:
+        if name in OPCODES or name in DEPRECATED_OPCODES or name in REMOVED_OPCODES:
             yield match.start(), Name.Builtin, name
         elif name in lexer.user_defined_opcodes:
             yield match.start(), Name.Function, name
index 541e3eaec3defc1b0ad5a2a15b90369c49cd1716..4a7e354bd62a1239635d70b628095fe18821bc31 100644 (file)
@@ -87,7 +87,7 @@ class CSharpLexer(RegexLexer):
                 (r'[~!%^&*()+=|\[\]:;,.<>/?-]', Punctuation),
                 (r'[{}]', Punctuation),
                 (r'@"(""|[^"])*"', String),
-                (r'"(\\\\|\\[^\\]|[^"\\\n])*["\n]', String),
+                (r'\$?"(\\\\|\\[^\\]|[^"\\\n])*["\n]', String),
                 (r"'\\.'|'[^\\]'", String.Char),
                 (r"[0-9](\.[0-9]*)?([eE][+-][0-9]+)?"
                  r"[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?", Number),
index 82ebc0c371074505e7571b1a26f7af98b2a9ae34..d6d3a20c49fa20fc81f0dcae43625668a3d4524c 100644 (file)
@@ -59,7 +59,7 @@ class FloScriptLexer(RegexLexer):
 
             include('name'),
             include('numbers'),
-            (r'#.+$', Comment.Singleline),
+            (r'#.+$', Comment.Single),
         ],
         'string': [
             ('[^"]+', String),
index b37a6e16f77e621cc641055b0d84208deb404540..4e287caf4e9b60d5c5bfe4aeabed41cb4cf2cdbf 100644 (file)
@@ -25,7 +25,7 @@ class GoLexer(RegexLexer):
     """
     name = 'Go'
     filenames = ['*.go']
-    aliases = ['go']
+    aliases = ['go', 'golang']
     mimetypes = ['text/x-gosrc']
 
     flags = re.MULTILINE | re.UNICODE
diff --git a/pygments/lexers/gsql.py b/pygments/lexers/gsql.py
new file mode 100755 (executable)
index 0000000..914df26
--- /dev/null
@@ -0,0 +1,92 @@
+"""
+    pygments.lexers.gsql
+    ~~~~~~~~~~~~~~~~~~~~
+
+    Lexers for TigerGraph GSQL graph query language
+
+    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import RegexLexer, include, bygroups, using, this, words
+from pygments.token import Keyword, Punctuation, Comment, Operator, Name,\
+    String, Number, Whitespace, Token
+
+
+__all__ = ["GSQLLexer"]
+
+class GSQLLexer(RegexLexer):
+
+    """
+    For `GSQL <https://docs.tigergraph.com/dev/gsql-ref>`_ queries (version 3.x).
+    .. versionadded:: 2.10
+    """
+
+    name = 'GSQL'
+    aliases = ['gsql']
+    filenames = ['*.gsql']
+
+    flags = re.MULTILINE | re.IGNORECASE
+
+    tokens = {
+        'root': [
+            include('comment'),
+            include('keywords'),
+            include('clauses'),
+            include('accums'),
+            include('relations'),
+            include('strings'),
+            include('whitespace'),
+            include('barewords'),
+            include('operators'),
+        ],
+        'comment': [
+            (r'.*\#.*\n', Comment.Single),
+            (r'.*\/\*\s*.*\s*\*\/', Comment.Multiline),
+        ],
+        'keywords': [
+            (words((
+             'ACCUM', 'AND', 'ANY', 'API', 'AS', 'ASC', 'AVG', 'BAG', 'BATCH', 'BETWEEN', 'BOOL', 'BOTH', 
+             'BREAK', 'BY', 'CASE', 'CATCH', 'COALESCE', 'COMPRESS', 'CONTINUE', 'COUNT', 
+             'CREATE', 'DATETIME', 'DATETIME_ADD', 'DATETIME_SUB', 'DELETE', 'DESC', 'DISTRIBUTED', 'DO', 
+             'DOUBLE', 'EDGE', 'ELSE', 'END', 'ESCAPE', 'EXCEPTION', 'FALSE', 'FILE', 'FILTER', 'FLOAT', 'FOREACH', 'FOR', 
+             'FROM', 'GRAPH', 'GROUP', 'GSQL_INT_MAX', 'GSQL_INT_MIN', 'GSQL_UINT_MAX', 'HAVING', 'IF', 
+             'IN', 'INSERT', 'INT', 'INTERPRET', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISEMPTY', 'JSONARRAY', 'JSONOBJECT', 'LASTHOP', 
+             'LEADING', 'LIKE', 'LIMIT', 'LIST', 'LOAD_ACCUM', 'LOG', 'MAP', 'MATCH', 'MAX', 'MIN', 'MINUS', 'NOT', 
+             'NOW', 'NULL', 'OFFSET', 'OR', 'ORDER', 'PATH', 'PER', 'PINNED', 'POST_ACCUM', 'POST-ACCUM', 'PRIMARY_ID', 'PRINT', 
+             'QUERY', 'RAISE', 'RANGE', 'REPLACE', 'RESET_COLLECTION_ACCUM', 'RETURN', 'RETURNS', 'RUN', 'SAMPLE', 'SELECT', 'SELECT_VERTEX', 
+             'SET', 'SRC', 'STATIC', 'STRING', 'SUM', 'SYNTAX', 'TARGET', 'TAGSTGT', 'THEN', 'TO', 'TO_CSV', 'TO_DATETIME', 'TRAILING', 'TRIM', 'TRUE', 
+             'TRY', 'TUPLE', 'TYPEDEF', 'UINT', 'UNION', 'UPDATE', 'VALUES', 'VERTEX', 'WHEN', 'WHERE', 'WHILE', 'WITH'), prefix=r'(?<!\.)', suffix=r'\b'), Token.Keyword)
+        ],
+        'clauses': [
+            (words(('accum', 'having', 'limit', 'order', 'postAccum', 'sample', 'where')), Name.Builtin)
+        ],
+        'accums': [
+            (words(('andaccum', 'arrayaccum', 'avgaccum', 'bagaccum', 'bitwiseandaccum', 
+             'bitwiseoraccum', 'groupbyaccum', 'heapaccum', 'listaccum', 'MapAccum', 
+             'maxaccum', 'minaccum', 'oraccum', 'setaccum', 'sumaccum')), Name.Builtin),
+        ],
+        'relations': [
+            (r'(-\s?)(\(.*\:\w?\))(\s?-)', bygroups(Operator, using(this), Operator)),
+            (r'->|<-', Operator),
+            (r'[.*{}]', Punctuation),
+        ],
+        'strings': [
+            (r'"(?:\\[tbnrf\'"\\]|[^\\"])*"', String),
+            (r'@{1,2}\w+', Name.Variable),
+            (r'(\<\w+)?\<(\w+\>?\,?\s?)+\>+', Name.Constant),
+        ],
+        'whitespace': [
+            (r'\s+', Whitespace),
+        ],
+        'barewords': [
+            (r'[a-z]\w*', Name),
+            (r'(\d+\.\d+|\d+)', Number),
+        ],
+        'operators': [
+            (r'[^0-9|\/|\-](\-\=|\+\=|\*\=|\\\=|\=|\=\=|\=\=\=|\+|\-|\*|\\|\+\=|\>|\<)[^\>|\/]', Operator),
+            (r'(\(|\)|\,|\;|\=|\-|\+|\*|\/|\>|\<|\:)', Operator),
+        ],
+    }
index f04d42d446fd07a9f9f0e40de548588c172d8236..7ddd1148e6fb5193cf3cb042dd3ad132ec1eca8e 100644 (file)
 
 import re
 
-from pygments.lexer import RegexLexer, include, bygroups, default, using, \
-    this, words, combined
+from pygments.lexer import bygroups, combined, default, do_insertions, include, \
+    inherit, Lexer, RegexLexer, this, using, words
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number, Punctuation, Other
+    Number, Punctuation, Other, Generic
 from pygments.util import get_bool_opt
 import pygments.unistring as uni
 
 __all__ = ['JavascriptLexer', 'KalLexer', 'LiveScriptLexer', 'DartLexer',
            'TypeScriptLexer', 'LassoLexer', 'ObjectiveJLexer',
-           'CoffeeScriptLexer', 'MaskLexer', 'EarlGreyLexer', 'JuttleLexer']
+           'CoffeeScriptLexer', 'MaskLexer', 'EarlGreyLexer', 'JuttleLexer',
+           'NodeConsoleLexer']
 
 JS_IDENT_START = ('(?:[$_' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl') +
                   ']|\\\\u[a-fA-F0-9]{4})')
@@ -28,6 +29,7 @@ JS_IDENT_PART = ('(?:[$' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl',
                  '\u200c\u200d]|\\\\u[a-fA-F0-9]{4})')
 JS_IDENT = JS_IDENT_START + '(?:' + JS_IDENT_PART + ')*'
 
+line_re = re.compile('.*?\n')
 
 class JavascriptLexer(RegexLexer):
     """
@@ -52,7 +54,7 @@ class JavascriptLexer(RegexLexer):
         'slashstartsregex': [
             include('commentsandwhitespace'),
             (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
-             r'([gimuys]+\b|\B)', String.Regex, '#pop'),
+             r'([gimuysd]+\b|\B)', String.Regex, '#pop'),
             (r'(?=/)', Text, ('#pop', 'badregex')),
             default('#pop')
         ],
@@ -75,23 +77,43 @@ class JavascriptLexer(RegexLexer):
             (r'(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?', Number.Float),
 
             (r'\.\.\.|=>', Punctuation),
-            (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
-             r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
+            (r'\+\+|--|~|\?\?=?|\?|:|\\(?=\n)|'
+             r'(<<|>>>?|==?|!=?|(?:\*\*|\|\||&&|[-<>+*%&|^/]))=?', Operator, 'slashstartsregex'),
             (r'[{(\[;,]', Punctuation, 'slashstartsregex'),
             (r'[})\].]', Punctuation),
+
+            (r'(typeof|instanceof|in|void|delete|new)\b', Operator.Word, 'slashstartsregex'),
+
+            # Match stuff like: constructor
+            (r'\b(constructor|from|as)\b', Keyword.Reserved),
+
             (r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
-             r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|await|async|'
-             r'this|of|static|export|import|from|as|debugger|extends|super)\b', Keyword, 'slashstartsregex'),
+             r'throw|try|catch|finally|yield|await|async|this|of|static|export|'
+             r'import|debugger|extends|super)\b', Keyword, 'slashstartsregex'),
             (r'(var|let|const|with|function|class)\b', Keyword.Declaration, 'slashstartsregex'),
-            (r'(abstract|boolean|byte|char|double|enum|final|float|goto'
-             r'implements|int|interface|long|native|package|private|protected'
+
+            (r'(abstract|boolean|byte|char|double|enum|final|float|goto|'
+             r'implements|int|interface|long|native|package|private|protected|'
              r'public|short|synchronized|throws|transient|volatile)\b', Keyword.Reserved),
             (r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant),
-            (r'(Array|Boolean|Date|BigInt|Error|Function|Math|'
+
+            (r'(Array|Boolean|Date|BigInt|Function|Math|ArrayBuffer|'
              r'Number|Object|RegExp|String|Promise|Proxy|decodeURI|'
              r'decodeURIComponent|encodeURI|encodeURIComponent|'
-             r'Error|eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|'
-             r'document|this|window|globalThis|Symbol)\b', Name.Builtin),
+             r'eval|isFinite|isNaN|parseFloat|parseInt|DataView|'
+             r'document|window|globalThis|global|Symbol|Intl|'
+             r'WeakSet|WeakMap|Set|Map|Reflect|JSON|Atomics|'
+             r'Int(?:8|16|32)Array|BigInt64Array|Float32Array|Float64Array|'
+             r'Uint8ClampedArray|Uint(?:8|16|32)Array|BigUint64Array)\b', Name.Builtin),
+
+            (r'((?:Eval|Internal|Range|Reference|Syntax|Type|URI)?Error)\b', Name.Exception),
+
+            # Match stuff like: super(argument, list)
+            (r'(super)(\s*)(\([\w,?.$\s]+\s*\))',
+             bygroups(Keyword, Text), 'slashstartsregex'),
+            # Match stuff like: function() {...}
+            (r'([a-zA-Z_?.$][\w?.$]*)(?=\(\) \{)', Name.Other, 'slashstartsregex'),
+
             (JS_IDENT, Name.Other),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
             (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
@@ -112,6 +134,43 @@ class JavascriptLexer(RegexLexer):
     }
 
 
+class TypeScriptLexer(JavascriptLexer):
+    """
+    For `TypeScript <http://typescriptlang.org/>`_ source code.
+
+    .. versionadded:: 1.6
+    """
+
+    name = 'TypeScript'
+    aliases = ['typescript', 'ts']
+    filenames = ['*.ts']
+    mimetypes = ['application/x-typescript', 'text/x-typescript']
+
+    # Higher priority than the TypoScriptLexer, as TypeScript is far more
+    # common these days
+    priority = 0.5
+
+    tokens = {
+        'root': [
+            (r'(abstract|implements|private|protected|public|readonly)\b',
+                Keyword, 'slashstartsregex'),
+            (r'(enum|interface|override)\b', Keyword.Declaration, 'slashstartsregex'),
+            (r'\b(declare|type)\b', Keyword.Reserved),
+            # Match variable type keywords
+            (r'\b(string|boolean|number)\b', Keyword.Type),
+            # Match stuff like: module name {...}
+            (r'\b(module)(\s*)(\s*[\w?.$][\w?.$]*)(\s*)',
+             bygroups(Keyword.Reserved, Text, Name.Other, Text), 'slashstartsregex'),
+            # Match stuff like: (function: return type)
+            (r'([\w?.$][\w?.$]*)(\s*:\s*)([\w?.$][\w?.$]*)',
+             bygroups(Name.Other, Text, Keyword.Type)),
+            # Match stuff like: Decorators
+            (r'@' + JS_IDENT, Keyword.Declaration),
+            inherit,
+        ],
+    }
+
+
 class KalLexer(RegexLexer):
     """
     For `Kal`_ source code.
@@ -157,7 +216,7 @@ class KalLexer(RegexLexer):
         'root': [
             include('commentsandwhitespace'),
             (r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
-             r'([gimuys]+\b|\B)', String.Regex),
+             r'([gimuysd]+\b|\B)', String.Regex),
             (r'\?|:|_(?=\n)|==?|!=|-(?!>)|[<>+*/-]=?',
              Operator),
             (r'\b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|'
@@ -250,7 +309,7 @@ class LiveScriptLexer(RegexLexer):
         ],
         'multilineregex': [
             include('commentsandwhitespace'),
-            (r'//([gimuys]+\b|\B)', String.Regex, '#pop'),
+            (r'//([gimuysd]+\b|\B)', String.Regex, '#pop'),
             (r'/', String.Regex),
             (r'[^/#]+', String.Regex)
         ],
@@ -258,7 +317,7 @@ class LiveScriptLexer(RegexLexer):
             include('commentsandwhitespace'),
             (r'//', String.Regex, ('#pop', 'multilineregex')),
             (r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
-             r'([gimuys]+\b|\B)', String.Regex, '#pop'),
+             r'([gimuysd]+\b|\B)', String.Regex, '#pop'),
             (r'/', Operator, '#pop'),
             default('#pop'),
         ],
@@ -441,108 +500,6 @@ class DartLexer(RegexLexer):
     }
 
 
-class TypeScriptLexer(RegexLexer):
-    """
-    For `TypeScript <http://typescriptlang.org/>`_ source code.
-
-    .. versionadded:: 1.6
-    """
-
-    name = 'TypeScript'
-    aliases = ['typescript', 'ts']
-    filenames = ['*.ts', '*.tsx']
-    mimetypes = ['text/x-typescript']
-
-    flags = re.DOTALL | re.MULTILINE
-
-    # Higher priority than the TypoScriptLexer, as TypeScript is far more
-    # common these days
-    priority = 0.5
-
-    tokens = {
-        'commentsandwhitespace': [
-            (r'\s+', Text),
-            (r'<!--', Comment),
-            (r'//.*?\n', Comment.Single),
-            (r'/\*.*?\*/', Comment.Multiline)
-        ],
-        'slashstartsregex': [
-            include('commentsandwhitespace'),
-            (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
-             r'([gimuys]+\b|\B)', String.Regex, '#pop'),
-            (r'(?=/)', Text, ('#pop', 'badregex')),
-            default('#pop')
-        ],
-        'badregex': [
-            (r'\n', Text, '#pop')
-        ],
-        'root': [
-            (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
-            include('commentsandwhitespace'),
-            (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
-             r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
-            (r'[{(\[;,]', Punctuation, 'slashstartsregex'),
-            (r'[})\].]', Punctuation),
-            (r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
-             r'throw|try|catch|finally|new|delete|typeof|instanceof|void|of|'
-             r'this|async|await|debugger|yield|abstract|static|import|export|'
-             r'from|implements|super|extends|private|protected|public|readonly)\b',
-                Keyword, 'slashstartsregex'),
-            (r'(var|let|const|with|function|class|type|enum|interface)\b',
-                Keyword.Declaration, 'slashstartsregex'),
-            (r'(boolean|byte|char|double|final|float|goto|int|long|native|'
-             r'package|short|synchronized|throws|transient|volatile)\b', Keyword.Reserved),
-            (r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant),
-            (r'(Array|Boolean|Date|Error|Function|Math|'
-             r'Number|Object|RegExp|String|decodeURI|'
-             r'decodeURIComponent|encodeURI|encodeURIComponent|'
-             r'Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|'
-             r'window|globalThis|Symbol|BigInt)\b', Name.Builtin),
-            # Match stuff like: module name {...}
-            (r'\b(module)(\s*)(\s*[\w?.$][\w?.$]*)(\s*)',
-             bygroups(Keyword.Reserved, Text, Name.Other, Text), 'slashstartsregex'),
-            # Match variable type keywords
-            (r'\b(string|bool|number)\b', Keyword.Type),
-            # Match stuff like: constructor
-            (r'\b(constructor|declare|interface|as)\b', Keyword.Reserved),
-            # Match stuff like: super(argument, list)
-            (r'(super)(\s*)(\([\w,?.$\s]+\s*\))',
-             bygroups(Keyword.Reserved, Text), 'slashstartsregex'),
-            # Match stuff like: function() {...}
-            (r'([a-zA-Z_?.$][\w?.$]*)(?=\(\) \{)', Name.Other, 'slashstartsregex'),
-            # Match stuff like: (function: return type)
-            (r'([\w?.$][\w?.$]*)(\s*:\s*)([\w?.$][\w?.$]*)',
-             bygroups(Name.Other, Text, Keyword.Type)),
-            (r'[$a-zA-Z_]\w*', Name.Other),
-            (r'0[bB][01]+n?', Number.Bin),
-            (r'0[oO]?[0-7]+n?', Number.Oct),  # Browsers support "0o7" and "07" (< ES5) notations
-            (r'0[xX][0-9a-fA-F]+n?', Number.Hex),
-            (r'[0-9]+n', Number.Integer),
-            (r'(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?', Number.Float),
-            (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
-            (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
-            (r'`', String.Backtick, 'interp'),
-            # Match stuff like: Decorators
-            (r'@\w+', Keyword.Declaration),
-        ],
-
-        # The 'interp*' rules match those in JavascriptLexer. Changes made
-        # there should be reflected here as well.
-        'interp': [
-            (r'`', String.Backtick, '#pop'),
-            (r'\\.', String.Backtick),
-            (r'\$\{', String.Interpol, 'interp-inside'),
-            (r'\$', String.Backtick),
-            (r'[^`\\$]+', String.Backtick),
-        ],
-        'interp-inside': [
-            # TODO: should this include single-line comments and allow nesting strings?
-            (r'\}', String.Interpol, '#pop'),
-            include('root'),
-        ],
-    }
-
-
 class LassoLexer(RegexLexer):
     """
     For `Lasso <http://www.lassosoft.com/>`_ source code, covering both Lasso 9
@@ -1051,7 +1008,7 @@ class CoffeeScriptLexer(RegexLexer):
         ],
         'multilineregex': [
             (r'[^/#]+', String.Regex),
-            (r'///([gimuys]+\b|\B)', String.Regex, '#pop'),
+            (r'///([gimuysd]+\b|\B)', String.Regex, '#pop'),
             (r'#\{', String.Interpol, 'interpoling_string'),
             (r'[/#]', String.Regex),
         ],
@@ -1059,7 +1016,7 @@ class CoffeeScriptLexer(RegexLexer):
             include('commentsandwhitespace'),
             (r'///', String.Regex, ('#pop', 'multilineregex')),
             (r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
-             r'([gimuys]+\b|\B)', String.Regex, '#pop'),
+             r'([gimuysd]+\b|\B)', String.Regex, '#pop'),
             # This isn't really guarding against mishighlighting well-formed
             # code, just the ability to infinite-loop between root and
             # slashstartsregex.
@@ -1493,7 +1450,7 @@ class JuttleLexer(RegexLexer):
         'slashstartsregex': [
             include('commentsandwhitespace'),
             (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
-             r'([gimuys]+\b|\B)', String.Regex, '#pop'),
+             r'([gimuysd]+\b|\B)', String.Regex, '#pop'),
             (r'(?=/)', Text, ('#pop', 'badregex')),
             default('#pop')
         ],
@@ -1534,3 +1491,64 @@ class JuttleLexer(RegexLexer):
         ]
 
     }
+
+
+class NodeConsoleLexer(Lexer):
+    """
+    For parsing within an interactive Node.js REPL, such as:
+
+    .. sourcecode:: nodejsrepl
+
+        > let a = 3
+        undefined
+        > a
+        3
+        > let b = '4'
+        undefined
+        > b
+        '4'
+        > b == a
+        false
+
+    .. versionadded: 2.10
+    """
+    name = 'Node.js REPL console session'
+    aliases = ['nodejsrepl', ]
+    mimetypes = ['text/x-nodejsrepl', ]
+
+    def get_tokens_unprocessed(self, text):
+        jslexer = JavascriptLexer(**self.options)
+
+        curcode = ''
+        insertions = []
+
+        for match in line_re.finditer(text):
+            line = match.group()
+            if line.startswith('> '):
+                insertions.append((len(curcode), 
+                    [(0, Generic.Prompt, line[:2])]))
+
+                curcode += line[2:]
+            elif line.startswith('...'):
+                # node does a nested ... thing depending on depth
+                code = line.lstrip('.')
+                lead = len(line) - len(code)
+
+                insertions.append((len(curcode), 
+                    [(0, Generic.Prompt, line[:lead])]))
+
+                curcode += code
+            else:
+                if curcode:
+                    yield from do_insertions(insertions, 
+                        jslexer.get_tokens_unprocessed(curcode))
+
+                    curcode = ''
+                    insertions = []
+
+                yield from do_insertions([], 
+                    jslexer.get_tokens_unprocessed(line))
+
+        if curcode:
+            yield from do_insertions(insertions, 
+                jslexer.get_tokens_unprocessed(curcode))
diff --git a/pygments/lexers/jslt.py b/pygments/lexers/jslt.py
new file mode 100644 (file)
index 0000000..a27cb01
--- /dev/null
@@ -0,0 +1,94 @@
+"""
+    pygments.lexers.jslt
+    ~~~~~~~~~~~~~~~~~~~~
+
+    Lexers for the JSLT language
+
+    :copyright: Copyright 2021 by the Pygments team, see AUTHORS
+    :license: BSD, see LICENSE for details
+"""
+
+from pygments.lexer import RegexLexer, combined, words
+from pygments.token import Comment, Keyword, Name, Number, Operator, \
+    Punctuation, String, Whitespace
+
+
+__all__ = ['JSLTLexer']
+
+
+_WORD_END = r'(?=[^0-9A-Z_a-z-])'
+
+
+class JSLTLexer(RegexLexer):
+    """
+    For `JSLT <https://github.com/schibsted/jslt>`_ source.
+
+    .. versionadded:: 2.10
+    """
+    name = 'JSLT'
+    filenames = ['*.jslt']
+    aliases = ['jslt']
+    mimetypes = ['text/x-jslt']
+
+    tokens = {
+        'root': [
+            (r'[\t\n\f\r ]+', Whitespace),
+            (r'//.*(\n|\Z)', Comment.Single),
+            (r'-?(0|[1-9][0-9]*)', Number.Integer),
+            (r'-?(0|[1-9][0-9]*)(.[0-9]+a)?([Ee][+-]?[0-9]+)', Number.Float),
+            (r'"([^"\\]|\\.)*"', String.Double),
+            (r'[(),:\[\]{}]', Punctuation),
+            (r'(!=|[<=>]=?)', Operator),
+            (r'[*+/|-]', Operator),
+            (r'\.', Operator),
+            (words(('import',), suffix=_WORD_END), Keyword.Namespace, combined('import-path', 'whitespace')),
+            (words(('as',), suffix=_WORD_END), Keyword.Namespace, combined('import-alias', 'whitespace')),
+            (words(('let',), suffix=_WORD_END), Keyword.Declaration, combined('constant', 'whitespace')),
+            (words(('def',), suffix=_WORD_END), Keyword.Declaration, combined('function', 'whitespace')),
+            (words(('false', 'null', 'true'), suffix=_WORD_END), Keyword.Constant),
+            (words(('else', 'for', 'if'), suffix=_WORD_END), Keyword),
+            (words(('and', 'or'), suffix=_WORD_END), Operator.Word),
+            (words((
+                'all', 'any', 'array', 'boolean', 'capture', 'ceiling',
+                'contains', 'ends-with', 'error', 'flatten', 'floor',
+                'format-time', 'from-json', 'get-key', 'hash-int', 'index-of',
+                'is-array', 'is-boolean', 'is-decimal', 'is-integer',
+                'is-number', 'is-object', 'is-string', 'join', 'lowercase',
+                'max', 'min', 'mod', 'not', 'now', 'number', 'parse-time',
+                'parse-url', 'random', 'replace', 'round', 'sha256-hex', 'size',
+                'split', 'starts-with', 'string', 'sum', 'test', 'to-json',
+                'trim', 'uppercase', 'zip', 'zip-with-index', 'fallback'), suffix=_WORD_END),
+             Name.Builtin),
+            (r'[A-Z_a-z][0-9A-Z_a-z-]*:[A-Z_a-z][0-9A-Z_a-z-]*', Name.Function),
+            (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name),
+            (r'\$[A-Z_a-z][0-9A-Z_a-z-]*', Name.Variable),
+        ],
+        'constant': [
+            (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Variable, 'root'),
+        ],
+        'function': [
+            (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Function, combined('function-parameter-list', 'whitespace')),
+        ],
+        'function-parameter-list': [
+            (r'\(', Punctuation, combined('function-parameters', 'whitespace')),
+        ],
+        'function-parameters': [
+            (r',', Punctuation),
+            (r'\)', Punctuation, 'root'),
+            (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Variable),
+        ],
+        'import-path': [
+            (r'"([^"]|\\.)*"', String.Symbol, 'root'),
+        ],
+        'import-alias': [
+            (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Namespace, 'root'),
+        ],
+        'string': [
+            (r'"', String.Double, '#pop'),
+            (r'\\.', String.Escape),
+        ],
+        'whitespace': [
+            (r'[\t\n\f\r ]+', Whitespace),
+            (r'//.*(\n|\Z)', Comment.Single),
+        ]
+    }
index 2fa2ea4fc95e59b035bb9b23f8e2dae44df3f0e1..3500e266f90ebfa75ef8cb8c16dde34ae118adc1 100644 (file)
@@ -68,7 +68,9 @@ class JavaLexer(RegexLexer):
             (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
             (r'(\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Punctuation,
                                                      Name.Attribute)),
-            (r'^\s*([^\W\d]|\$)[\w$]*:', Name.Label),
+            (r'^(\s*)(default)(:)', bygroups(Text, Keyword, Punctuation)),
+            (r'^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)', bygroups(Text, Name.Label,
+                                                          Punctuation)),
             (r'([^\W\d]|\$)[\w$]*', Name),
             (r'([0-9][0-9_]*\.([0-9][0-9_]*)?|'
              r'\.[0-9][0-9_]*)'
@@ -180,7 +182,7 @@ class ScalaLexer(RegexLexer):
     operators = (
         '<%', '=:=', '<:<', '<%<', '>:', '<:', '=', '==', '!=', '<=', '>=',
         '<>', '<', '>', '<-', '←', '->', '→', '=>', '⇒', '?', '@', '|', '-',
-        '+', '*', '%', '~'
+        '+', '*', '%', '~', '\\'
     )
 
     storage_modifiers = (
@@ -1735,7 +1737,7 @@ class JasminLexer(RegexLexer):
                      r'inner|interface|limit|set|signature|stack)\b', text,
                      re.MULTILINE):
             score += 0.6
-        return score
+        return min(score, 1.0)
 
 
 class SarlLexer(RegexLexer):
index 14f52b8d99abdcbea39eb35c8d406c8a313c2712..f881405835d6b867a8e597395b89f92076a53e91 100644 (file)
@@ -2631,23 +2631,22 @@ class FennelLexer(RegexLexer):
     aliases = ['fennel', 'fnl']
     filenames = ['*.fnl']
 
-    # these two lists are taken from fennel-mode.el:
-    # https://gitlab.com/technomancy/fennel-mode
-    # this list is current as of Fennel version 0.6.0.
+    # this list is current as of Fennel version 0.10.0.
     special_forms = (
-        'require-macros', 'eval-compiler', 'doc', 'lua', 'hashfn',
-        'macro', 'macros', 'import-macros', 'pick-args', 'pick-values',
-        'macroexpand', 'macrodebug', 'do', 'values', 'if', 'when',
-        'each', 'for', 'fn', 'lambda', 'λ', 'partial', 'while',
-        'set', 'global', 'var', 'local', 'let', 'tset', 'set-forcibly!',
-        'doto', 'match', 'or', 'and', 'true', 'false', 'nil', 'not',
-        'not=', '.', '+', '..', '^', '-', '*', '%', '/', '>',
-        '<', '>=', '<=', '=', '...', ':', '->', '->>', '-?>',
-        '-?>>', 'rshift', 'lshift', 'bor', 'band', 'bnot', 'bxor',
-        'with-open', 'length'
+        '#', '%', '*', '+', '-', '->', '->>', '-?>', '-?>>', '.', '..',
+        '/', '//', ':', '<', '<=', '=', '>', '>=', '?.', '^', 'accumulate',
+        'and', 'band', 'bnot', 'bor', 'bxor', 'collect', 'comment', 'do', 'doc',
+        'doto', 'each', 'eval-compiler', 'for', 'hashfn', 'icollect', 'if',
+        'import-macros', 'include', 'length', 'let', 'lshift', 'lua',
+        'macrodebug', 'match', 'not', 'not=', 'or', 'partial', 'pick-args',
+        'pick-values', 'quote', 'require-macros', 'rshift', 'set',
+        'set-forcibly!', 'tset', 'values', 'when', 'while', 'with-open', '~='
+    )
+
+    declarations = (
+        'fn', 'global', 'lambda', 'local', 'macro', 'macros', 'var', 'λ'
     )
 
-    # Might be nicer to use the list from _lua_builtins.py but it's unclear how?
     builtins = (
         '_G', '_VERSION', 'arg', 'assert', 'bit32', 'collectgarbage',
         'coroutine', 'debug', 'dofile', 'error', 'getfenv',
@@ -2673,6 +2672,8 @@ class FennelLexer(RegexLexer):
 
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
 
+            (r'(true|false|nil)', Name.Constant),
+
             # these are technically strings, but it's worth visually
             # distinguishing them because their intent is different
             # from regular strings.
@@ -2680,6 +2681,8 @@ class FennelLexer(RegexLexer):
 
             # special forms are keywords
             (words(special_forms, suffix=' '), Keyword),
+            # these are ... even more special!
+            (words(declarations, suffix=' '), Keyword.Declaration),
             # lua standard library are builtins
             (words(builtins, suffix=' '), Name.Builtin),
             # special-case the vararg symbol
diff --git a/pygments/lexers/meson.py b/pygments/lexers/meson.py
new file mode 100644 (file)
index 0000000..c790de3
--- /dev/null
@@ -0,0 +1,155 @@
+"""
+    pygments.lexers.meson
+    ~~~~~~~~~~~~~~~~~~~~~
+
+    Pygments lexer for the Meson build system
+
+    :copyright: Copyright 2021 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import (
+    RegexLexer,
+    words,
+    include,
+)
+from pygments.token import (
+    Comment,
+    Name,
+    Number,
+    Punctuation,
+    Operator,
+    Keyword,
+    String,
+    Whitespace,
+)
+
+__all__ = ['MesonLexer']
+
+
+class MesonLexer(RegexLexer):
+    """
+    `meson <https://mesonbuild.com/>`_ language lexer.
+    The grammar definition use to transcribe the syntax was retrieved from
+    https://mesonbuild.com/Syntax.html#grammar for version 0.58
+    Some of those definitions are improperly transcribed so the Meson++
+    implementation was also checked: https://github.com/dcbaker/meson-plus-plus
+
+    .. versionadded:: 2.10
+    """
+
+    # TODO String interpolation @VARNAME@ inner matches
+    # TODO keyword_arg: value inner matches
+
+    name = 'Meson'
+    aliases = ['meson', 'meson.build']
+    filenames = ['meson.build', 'meson_options.txt']
+    mimetypes = ['text/x-meson']
+
+    flags = re.MULTILINE | re.UNICODE
+
+    tokens = {
+        'root': [
+            (r'#.*?$', Comment),
+            (r"'''.*'''", String.Single),
+            (r'[1-9][0-9]*', Number.Integer),
+            (r'0o[0-7]+', Number.Oct),
+            (r'0x[a-fA-F0-9]+', Number.Hex),
+            include('string'),
+            include('keywords'),
+            include('expr'),
+            (r'[a-zA-Z_][a-zA-Z_0-9]*', Name),
+            (r'\s+', Whitespace),
+        ],
+        'string': [
+            (r"[']{3}([']{0,2}([^\\']|\\(.|\n)))*[']{3}", String),
+            (r"'.*?(?<!\\)(\\\\)*?'", String),
+        ],
+        'keywords': [
+            (words((
+                'if',
+                'elif',
+                'else',
+                'endif',
+                'foreach',
+                'endforeach',
+                'break',
+                'continue',
+            ),
+                   suffix=r'\b'), Keyword),
+        ],
+        'expr': [
+            (r'(in|and|or|not)\b', Operator.Word),
+            (r'(\*=|/=|%=|\+]=|-=|==|!=|\+|-|=)', Operator),
+            (r'[\[\]{}:().,?]', Punctuation),
+            (words(('true', 'false'), suffix=r'\b'), Keyword.Constant),
+            include('builtins'),
+            (words((
+                'meson',
+                'build_machine',
+                'host_machine',
+                'target_machine',
+            ),
+                   suffix=r'\b'), Name.Variable.Magic),
+        ],
+        'builtins': [
+            # This list was extracted from the v0.58 reference manual
+            (words((
+                'add_global_arguments',
+                'add_global_link_arguments',
+                'add_languages',
+                'add_project_arguments',
+                'add_project_link_arguments',
+                'add_test_setup',
+                'assert',
+                'benchmark',
+                'both_libraries',
+                'build_target',
+                'configuration_data',
+                'configure_file',
+                'custom_target',
+                'declare_dependency',
+                'dependency',
+                'disabler',
+                'environment',
+                'error',
+                'executable',
+                'files',
+                'find_library',
+                'find_program',
+                'generator',
+                'get_option',
+                'get_variable',
+                'include_directories',
+                'install_data',
+                'install_headers',
+                'install_man',
+                'install_subdir',
+                'is_disabler',
+                'is_variable',
+                'jar',
+                'join_paths',
+                'library',
+                'message',
+                'project',
+                'range',
+                'run_command',
+                'set_variable',
+                'shared_library',
+                'shared_module',
+                'static_library',
+                'subdir',
+                'subdir_done',
+                'subproject',
+                'summary',
+                'test',
+                'vcs_tag',
+                'warning',
+            ),
+                   prefix=r'(?<!\.)',
+                   suffix=r'\b'), Name.Builtin),
+            (r'(?<!\.)import\b', Name.Namespace),
+        ],
+    }
index d68f70835468d79acdbced104a68c7bfc053066a..a4cc44b3873c19aa67dd204b410fa1b6f9292c11 100644 (file)
@@ -412,7 +412,7 @@ class SwiftLexer(RegexLexer):
         ],
         'keywords': [
             (words((
-                'as', 'break', 'case', 'catch', 'continue', 'default', 'defer',
+                'as', 'async', 'await', 'break', 'case', 'catch', 'continue', 'default', 'defer',
                 'do', 'else', 'fallthrough', 'for', 'guard', 'if', 'in', 'is',
                 'repeat', 'return', '#selector', 'switch', 'throw', 'try',
                 'where', 'while'), suffix=r'\b'),
@@ -440,7 +440,7 @@ class SwiftLexer(RegexLexer):
             (r'(var|let)(\s+)([a-zA-Z_]\w*)', bygroups(Keyword.Declaration,
              Text, Name.Variable)),
             (words((
-                'associatedtype', 'class', 'deinit', 'enum', 'extension', 'func', 'import',
+                'actor', 'associatedtype', 'class', 'deinit', 'enum', 'extension', 'func', 'import',
                 'init', 'internal', 'let', 'operator', 'private', 'protocol', 'public',
                 'static', 'struct', 'subscript', 'typealias', 'var'), suffix=r'\b'),
              Keyword.Declaration)
diff --git a/pygments/lexers/procfile.py b/pygments/lexers/procfile.py
new file mode 100644 (file)
index 0000000..cac0a25
--- /dev/null
@@ -0,0 +1,43 @@
+"""
+    pygments.lexers.procfile
+    ~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Lexer for Procfile file format.
+
+    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, bygroups
+from pygments.token import Name, Number, String, Text, Punctuation
+
+__all__ = ["ProcfileLexer"]
+
+
+class ProcfileLexer(RegexLexer):
+    """
+    Lexer for Procfile file format.
+
+    The format is used to run processes on Heroku or is used by Foreman or
+    Honcho tools.
+    For more information about the definition of the format, see:
+    https://devcenter.heroku.com/articles/procfile#procfile-format
+
+    .. versionadded:: 2.10
+    """
+    name = 'Procfile'
+    aliases = ['procfile']
+    filenames = ['Procfile']
+
+    tokens = {
+        'root': [
+            (r'^([a-z]+)(:)', bygroups(Name.Label, Punctuation)),
+            (r'\s+', Text.Whitespace),
+            (r'"[^"]*"', String),
+            (r"'[^']*'", String),
+            (r'[0-9]+', Number.Integer),
+            (r'\$[a-zA-Z_][\w]*', Name.Variable),
+            (r'(\w+)(=)(\w+)', bygroups(Name.Variable, Punctuation, String)),
+            (r'([\w\-\./]+)', Text),
+        ],
+    }
index 145beede3b1c8bf782ac0918a19a28ff59a83e6f..9db7a2d8bb90847444cac1bc89c03b4f66609c90 100644 (file)
@@ -727,7 +727,7 @@ class PythonTracebackLexer(RegexLexer):
             (r'^(  File )("[^"]+")(, line )(\d+)(\n)',
              bygroups(Text, Name.Builtin, Text, Number, Text)),
             (r'^(    )(.+)(\n)',
-             bygroups(Text, using(PythonLexer), Text)),
+             bygroups(Text, using(PythonLexer), Text), 'markers'),
             (r'^([ \t]*)(\.\.\.)(\n)',
              bygroups(Text, Comment, Text)),  # for doctests...
             (r'^([^:]+)(: )(.+)(\n)',
@@ -735,6 +735,15 @@ class PythonTracebackLexer(RegexLexer):
             (r'^([a-zA-Z_][\w.]*)(:?\n)',
              bygroups(Generic.Error, Text), '#pop')
         ],
+        'markers': [
+            # Either `PEP 657 <https://www.python.org/dev/peps/pep-0657/>`
+            # error locations in Python 3.11+, or single-caret markers
+            # for syntax errors before that.
+            (r'^( {4,})(\^+)(\n)',
+             bygroups(Text, Punctuation.Marker, Text),
+             '#pop'),
+            default('#pop'),
+        ],
     }
 
 
@@ -773,7 +782,7 @@ class Python2TracebackLexer(RegexLexer):
             (r'^(  File )("[^"]+")(, line )(\d+)(\n)',
              bygroups(Text, Name.Builtin, Text, Number, Text)),
             (r'^(    )(.+)(\n)',
-             bygroups(Text, using(Python2Lexer), Text)),
+             bygroups(Text, using(Python2Lexer), Text), 'marker'),
             (r'^([ \t]*)(\.\.\.)(\n)',
              bygroups(Text, Comment, Text)),  # for doctests...
             (r'^([^:]+)(: )(.+)(\n)',
@@ -781,6 +790,11 @@ class Python2TracebackLexer(RegexLexer):
             (r'^([a-zA-Z_]\w*)(:?\n)',
              bygroups(Generic.Error, Text), '#pop')
         ],
+        'marker': [
+            # For syntax errors.
+            (r'( {4,})(\^)', bygroups(Text, Punctuation.Marker), '#pop'),
+            default('#pop'),
+        ],
     }
 
 
index 6cb8291d7601c12d599d8fbed1577615ecb7ff23..d01f73e4a4d68a732cbaa32cbb12e94a6fdc2dc7 100644 (file)
@@ -109,7 +109,7 @@ class RustLexer(RegexLexer):
             # Types in positions.
             (r'(?::|->)', Text, 'typename'),
             # Labels
-            (r'(break|continue)(\s*)(\'[A-Za-z_]\w*)?',
+            (r'(break|continue)(\b\s*)(\'[A-Za-z_]\w*)?',
              bygroups(Keyword, Text.Whitespace, Name.Label)),
 
             # Character literals
@@ -213,16 +213,10 @@ class RustLexer(RegexLexer):
         'attribute_common': [
             (r'"', String, 'string'),
             (r'\[', Comment.Preproc, 'attribute['),
-            (r'\(', Comment.Preproc, 'attribute('),
         ],
         'attribute[': [
             include('attribute_common'),
-            (r'\];?', Comment.Preproc, '#pop'),
-            (r'[^"\]]+', Comment.Preproc),
-        ],
-        'attribute(': [
-            include('attribute_common'),
-            (r'\);?', Comment.Preproc, '#pop'),
-            (r'[^")]+', Comment.Preproc),
+            (r'\]', Comment.Preproc, '#pop'),
+            (r'[^"\]\[]+', Comment.Preproc),
         ],
     }
index 5539e812097e4d7eb2ee8e9db96f3ece48fca272..713b50a167ae4ce90181c17411a9ad6bf37d4897 100644 (file)
@@ -192,10 +192,13 @@ class ShellSessionBaseLexer(Lexer):
                                    [(0, Generic.Prompt, m.group(1))]))
                 curcode += m.group(2)
                 backslash_continuation = curcode.endswith('\\\n')
-            elif line.startswith(self._ps2) and backslash_continuation:
-                insertions.append((len(curcode),
-                                   [(0, Generic.Prompt, line[:len(self._ps2)])]))
-                curcode += line[len(self._ps2):]
+            elif backslash_continuation:
+                if line.startswith(self._ps2):
+                    insertions.append((len(curcode),
+                                    [(0, Generic.Prompt, line[:len(self._ps2)])]))
+                    curcode += line[len(self._ps2):]
+                else:
+                    curcode += line
                 backslash_continuation = curcode.endswith('\\\n')
             else:
                 if insertions:
@@ -652,7 +655,7 @@ class PowerShellLexer(RegexLexer):
     .. versionadded:: 1.5
     """
     name = 'PowerShell'
-    aliases = ['powershell', 'posh', 'ps1', 'psm1']
+    aliases = ['powershell', 'pwsh', 'posh', 'ps1', 'psm1']
     filenames = ['*.ps1', '*.psm1']
     mimetypes = ['text/x-powershell']
 
@@ -768,7 +771,7 @@ class PowerShellSessionLexer(ShellSessionBaseLexer):
     """
 
     name = 'PowerShell Session'
-    aliases = ['ps1con']
+    aliases = ['pwsh-session', 'ps1con']
     filenames = []
     mimetypes = []
 
diff --git a/pygments/lexers/smithy.py b/pygments/lexers/smithy.py
new file mode 100644 (file)
index 0000000..0f0a912
--- /dev/null
@@ -0,0 +1,79 @@
+"""
+    pygments.lexers.smithy
+    ~~~~~~~~~~~~~~~~~~~~~~
+
+    Lexers for the Smithy IDL.
+
+    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import RegexLexer, bygroups, words
+from pygments.token import Text, Comment, Keyword, Name, String, \
+    Number, Whitespace, Punctuation
+
+__all__ = ['SmithyLexer']
+
+
+class SmithyLexer(RegexLexer):
+    """
+    For Smithy IDL
+
+    .. versionadded:: 2.10
+    """
+    name = 'Smithy'
+    filenames = ['*.smithy']
+    aliases = ['smithy']
+
+    flags = re.MULTILINE | re.UNICODE
+    unquoted = r'[A-Za-z0-9_\.#$-]+'
+    identifier = r"[A-Za-z0-9_\.#$-]+"
+
+    simple_shapes = (
+        'use', 'byte', 'short', 'integer', 'long', 'float', 'document',
+        'double', 'bigInteger', 'bigDecimal', 'boolean', 'blob', 'string',
+        'timestamp',
+    )
+
+    aggregate_shapes = (
+       'apply', 'list', 'map', 'set', 'structure', 'union', 'resource',
+       'operation', 'service', 'trait'
+    )
+
+    tokens = {
+        'root': [
+            (r'///.*$', Comment.Multiline),
+            (r'//.*$', Comment),
+            (r'@[0-9a-zA-Z\.#-]*', Name.Decorator),
+            (r'(=)', Name.Decorator),
+            (r'^(\$version)(:)(.+)',
+                bygroups(Keyword.Declaration, Name.Decorator, Name.Class)),
+            (r'^(namespace)(\s+' + identifier + r')\b',
+                bygroups(Keyword.Declaration, Name.Class)),
+            (words(simple_shapes,
+                   prefix=r'^', suffix=r'(\s+' + identifier + r')\b'),
+                bygroups(Keyword.Declaration, Name.Class)),
+            (words(aggregate_shapes,
+                   prefix=r'^', suffix=r'(\s+' + identifier + r')'),
+                bygroups(Keyword.Declaration, Name.Class)),
+            (r'^(metadata)(\s+.+)(\s*)(=)',
+                bygroups(Keyword.Declaration, Name.Class, Whitespace, Name.Decorator)),
+            (r"(true|false|null)", Keyword.Constant),
+            (r"(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)", Number),
+            (identifier + ":", Name.Label),
+            (identifier, Name.Variable.Class),
+            (r'\[', Text, "#push"),
+            (r'\]', Text, "#pop"),
+            (r'\(', Text, "#push"),
+            (r'\)', Text, "#pop"),
+            (r'\{', Text, "#push"),
+            (r'\}', Text, "#pop"),
+            (r'"{3}(\\\\|\n|\\")*"{3}', String.Doc),
+            (r'"(\\\\|\n|\\"|[^"])*"', String.Double),
+            (r"'(\\\\|\n|\\'|[^'])*'", String.Single),
+            (r'[:,]+', Punctuation),
+            (r'\s+', Whitespace),
+        ]
+    }
index 7db2070f6b77acffd522ca3ac4a26107571d88ff..a4cbf9455e3d5cfbee0f1fbdae8b7da6a7f39a21 100644 (file)
@@ -68,7 +68,7 @@ class NuSMVLexer(RegexLexer):
             (r'\-?\d+\b', Number.Integer),
             (r'0[su][bB]\d*_[01_]+', Number.Bin),
             (r'0[su][oO]\d*_[0-7_]+', Number.Oct),
-            (r'0[su][dD]\d*_[\d_]+', Number.Dec),
+            (r'0[su][dD]\d*_[\d_]+', Number.Decimal),
             (r'0[su][hH]\d*_[\da-fA-F_]+', Number.Hex),
 
             # Whitespace, punctuation and the rest
index b901e5d38a1dbe04f6611eaab926c1d64d4d5942..bff6652c562ed326ce3a518369a2868c6fe143b8 100644 (file)
@@ -12,11 +12,11 @@ import ast
 import re
 
 from pygments.lexer import Lexer
-from pygments.token import Token, Error, Text
+from pygments.token import Token, Error, Text, Generic
 from pygments.util import get_choice_opt
 
 
-__all__ = ['TextLexer', 'RawTokenLexer']
+__all__ = ['TextLexer', 'OutputLexer', 'RawTokenLexer']
 
 
 class TextLexer(Lexer):
@@ -36,6 +36,19 @@ class TextLexer(Lexer):
         return TextLexer.priority
 
 
+class OutputLexer(Lexer):
+    """
+    Simple lexer that highlights everything as ``Token.Generic.Output``.
+
+    .. versionadded:: 2.10
+    """
+    name = 'Text output'
+    aliases = ['output']
+
+    def get_tokens_unprocessed(self, text):
+        yield 0, Generic.Output, text
+
+
 _ttype_cache = {}
 
 line_re = re.compile('.*?\n')
index 9fb5090196fdf17581619c73c3aabda41ef33499..7be07357aa6c7aacee85f1b18bbdc238e6694cf6 100644 (file)
@@ -10,7 +10,7 @@
 
 from pygments.lexer import RegexLexer, include, words
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number
+    Number, Whitespace
 from pygments.util import shebang_matches
 
 __all__ = ['TclLexer']
@@ -79,13 +79,13 @@ class TclLexer(RegexLexer):
             (r'!=|==|<<|>>|<=|>=|&&|\|\||\*\*|[-+~!*/%<>&^|?:]', Operator),
         ],
         'data': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'0x[a-fA-F0-9]+', Number.Hex),
             (r'0[0-7]+', Number.Oct),
             (r'\d+\.\d+', Number.Float),
             (r'\d+', Number.Integer),
             (r'\$([\w.:-]+)', Name.Variable),
-            (r'([\w.:-]+)', Text),
+            (r'([\w.,@:-]+)', Text),
         ],
         'params': [
             (r';', Keyword, '#pop'),
index 3ac190fc1b1012e41668104ddb5a38d16e4aea8e..548e14afe2328bb48cfe1fbeddd37ff63ffe206f 100644 (file)
@@ -588,12 +588,12 @@ class MakoLexer(RegexLexer):
     tokens = {
         'root': [
             (r'(\s*)(%)(\s*end(?:\w+))(\n|\Z)',
-             bygroups(Text, Comment.Preproc, Keyword, Other)),
+             bygroups(Text.Whitespace, Comment.Preproc, Keyword, Other)),
             (r'(\s*)(%)([^\n]*)(\n|\Z)',
-             bygroups(Text, Comment.Preproc, using(PythonLexer), Other)),
+             bygroups(Text.Whitespace, Comment.Preproc, using(PythonLexer), Other)),
             (r'(\s*)(##[^\n]*)(\n|\Z)',
-             bygroups(Text, Comment.Preproc, Other)),
-            (r'(?s)<%doc>.*?</%doc>', Comment.Preproc),
+             bygroups(Text.Whitespace, Comment.Single, Text.Whitespace)),
+            (r'(?s)<%doc>.*?</%doc>', Comment.Multiline),
             (r'(<%)([\w.:]+)',
              bygroups(Comment.Preproc, Name.Builtin), 'tag'),
             (r'(</%)([\w.:]+)(>)',
index 37f64e562e931924390918c4260e77117c8950c6..ffb1825c854d8be37bd2865751dfff00edecee01 100644 (file)
@@ -37,7 +37,7 @@ class ThingsDBLexer(RegexLexer):
 
             # numbers
             (r'[-+]?0b[01]+', Number.Bin),
-            (r'[-+]?0o[0-8]+', Number.Octal),
+            (r'[-+]?0o[0-8]+', Number.Oct),
             (r'([-+]?0x[0-9a-fA-F]+)', Number.Hex),
             (r'[-+]?[0-9]+', Number.Integer),
             (r'[-+]?((inf|nan)([^0-9A-Za-z_]|$)|[0-9]*\.[0-9]+(e[+-][0-9]+)?)',
index 50fa3335869ac68677a477b8839d5606cfba4471..e6e71961d4cab60ada0c4eec5f0db119e26ac86e 100644 (file)
@@ -12,7 +12,7 @@ import re
 
 from pygments.lexer import Lexer
 from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
-     Punctuation, Error
+    Punctuation, Error
 
 __all__ = ['TNTLexer']
 
@@ -66,15 +66,16 @@ class TNTLexer(Lexer):
                 end += 1
         except IndexError:
             end = len(text)
-        if required:
-            assert end != start
+        if required and end == start:
+            raise AssertionError
         if end != start:
             self.cur.append((start, Text, text[start:end]))
         return end
 
     def variable(self, start, text):
         """Tokenize a variable."""
-        assert text[start] in self.VARIABLES
+        if text[start] not in self.VARIABLES:
+            raise AssertionError
         end = start+1
         while text[end] in self.PRIMES:
             end += 1
@@ -97,10 +98,12 @@ class TNTLexer(Lexer):
         if text[start] == '(':  # (...+...)
             self.cur.append((start, Punctuation, text[start]))
             start = self.term(start+1, text)
-            assert text[start] in self.OPERATORS
+            if text[start] not in self.OPERATORS:
+                raise AssertionError
             self.cur.append((start, Operator, text[start]))
             start = self.term(start+1, text)
-            assert text[start] == ')'
+            if text[start] != ')':
+                raise AssertionError
             self.cur.append((start, Punctuation, text[start]))
             return start+1
         raise AssertionError  # no matches
@@ -116,21 +119,25 @@ class TNTLexer(Lexer):
         if text[start] in self.QUANTIFIERS:  # Aa:<...>
             self.cur.append((start, Keyword.Declaration, text[start]))
             start = self.variable(start+1, text)
-            assert text[start] == ':'
+            if text[start] != ':':
+                raise AssertionError
             self.cur.append((start, Punctuation, text[start]))
             return self.formula(start+1, text)
         if text[start] == '<':  # <...&...>
             self.cur.append((start, Punctuation, text[start]))
             start = self.formula(start+1, text)
-            assert text[start] in self.LOGIC
+            if text[start] not in self.LOGIC:
+                raise AssertionError
             self.cur.append((start, Operator, text[start]))
             start = self.formula(start+1, text)
-            assert text[start] == '>'
+            if text[start] != '>':
+                raise AssertionError
             self.cur.append((start, Punctuation, text[start]))
             return start+1
         # ...=...
         start = self.term(start, text)
-        assert text[start] == '='
+        if text[start] != '=':
+            raise AssertionError
         self.cur.append((start, Operator, text[start]))
         start = self.term(start+1, text)
         return start
@@ -138,7 +145,8 @@ class TNTLexer(Lexer):
     def rule(self, start, text):
         """Tokenize a rule."""
         match = self.RULES.match(text, start)
-        assert match is not None
+        if match is None:
+            raise AssertionError
         groups = sorted(match.regs[1:])  # exclude whole match
         for group in groups:
             if group[0] >= 0:  # this group matched
@@ -162,8 +170,10 @@ class TNTLexer(Lexer):
         self.cur.append((start+1, Text, text[start+1:end]))
         start = end
         match = self.LINENOS.match(text, start)
-        assert match is not None
-        assert text[match.end()] == ')'
+        if match is None:
+            raise AssertionError
+        if text[match.end()] != ')':
+            raise AssertionError
         self.cur.append((match.start(), Number.Integer, match.group(0)))
         self.cur.append((match.end(), Punctuation, text[match.end()]))
         return match.end() + 1
@@ -219,7 +229,7 @@ class TNTLexer(Lexer):
                     orig = len(self.cur)
                     try:
                         start = end = self.formula(start, text)
-                    except AssertionError:  # not well-formed
+                    except (AssertionError, RecursionError):  # not well-formed
                         del self.cur[orig:]
                         while text[end] not in self.WHITESPACE:
                             end += 1
@@ -257,6 +267,6 @@ class TNTLexer(Lexer):
                 try:
                     del self.cur[orig:]
                 except NameError:
-                    pass # if orig was never defined, fine
+                    pass  # if orig was never defined, fine
                 self.error_till_line_end(start, text)
         return self.cur
index bcbe829d062bd6729c023481930869f9ad919fac..cb2c8e21a9e3ab9b6b58df67e9cfd08f4977ef30 100644 (file)
@@ -15,7 +15,7 @@ from os.path import commonprefix
 from itertools import groupby
 from operator import itemgetter
 
-CS_ESCAPE = re.compile(r'[\^\\\-\]]')
+CS_ESCAPE = re.compile(r'[\[\^\\\-\]]')
 FIRST_ELEMENT = itemgetter(0)
 
 
diff --git a/scripts/count_token_references.py b/scripts/count_token_references.py
new file mode 100755 (executable)
index 0000000..ee4f8fa
--- /dev/null
@@ -0,0 +1,267 @@
+#!/usr/bin/env python
+"""
+Count number of references to tokens in lexer source
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+:program:`count_token_references` counts how many references to all existing
+tokens it can find by "grepping" the the source code of the lexers. This can
+be used to find typos in token names, as those tokens are only used by one lexer.
+
+:program:`count_token_references` supports the following options:
+
+.. program:: count_token_references
+
+.. option:: -v, --verbose
+    This gives output while the script is collecting information.
+
+.. option:: --minfiles <COUNT>
+    Only report about tokens that are referenced in at least this many lexer
+    source files (default 1).
+
+.. option:: --maxfiles <COUNT>
+    Only report about tokens that are referenced in at most this many lexer
+    source files (default 1).
+
+.. option:: --minlines <COUNT>
+    Only report about tokens that are referenced in at least this many lexer
+    source lines (default 1).
+
+.. option:: --maxlines <COUNT>
+    Only report about tokens that are referenced in at most this many lexer
+    source lines (default 10).
+
+.. option:: -s, --subtokens
+    When ``--subtoken`` is given each token is also counted for each of its
+    parent tokens. I.e. if we have 10 occurences of the token
+    ``Token.Literal.Number.Integer`` and 10 occurences of the token
+    ``Token.Literal.Number.Hex`` but none for ``Token.Literal.Number``, with
+    ``--subtoken`` ``Token.Literal.Number`` would be counted as having
+    20 references.
+"""
+
+import sys, argparse, re, pathlib
+
+from pygments import token, lexers
+
+
+def lookup_all_lexers():
+    """
+    Iterate through all lexers and fetch them.
+    This should create all tokens that any of the lexers produce.
+    """
+    count = 0
+    for (name, aliases, patterns, mimetypes) in lexers.get_all_lexers():
+        for a in aliases:
+            l = lexers.get_lexer_by_name(a)
+            break
+        else:
+            for p in patterns:
+                l = lexers.get_lexer_for_filename(p)
+                break
+            else:
+                for m in mimetypes:
+                    l = lexers.get_lexer_for_mimetype(m)
+                    break
+        count += 1
+    return count
+
+
+def fetch_lexer_sources():
+    """
+    Return the source code of all lexers as a dictionary, mapping filenames
+    to a list of lines.
+    """
+    lexer_dir = (pathlib.Path(__file__).parent / "../pygments/lexers").resolve()
+    lexer_sources = {fn: fn.read_text().splitlines(keepends=False) for fn in lexer_dir.glob("*.py")}
+    return lexer_sources
+
+
+def sub_tokens(token):
+    """
+    Generator that yields a token and all of its sub-tokens recursively.
+    """
+    yield token
+    for subtoken in token.subtypes:
+        yield from sub_tokens(subtoken)
+
+
+class FileCount:
+    """
+    Stores information about line numbers in a file.
+
+    This is used to store from which lines in a files a certain token is
+    referenced.
+    """
+    def __init__(self, filename):
+        self.filename = filename
+        self.lines = []
+
+    def __str__(self):
+        if len(self.lines) > 3:
+            lines = ", ".join(f"{line:,}" for line in self.lines[:5])
+            lines = f"{lines}, ... ({len(lines):,} lines)"
+        else:
+            lines = ", ".join(f"{line:,}" for line in self.lines)
+        return f"{self.filename.name}[{lines}]"
+
+    def add(self, linenumber):
+        self.lines.append(linenumber)
+
+    def count_lines(self):
+        return len(self.lines)
+
+
+class TokenCount:
+    """
+    Stores information about a token and in which files it is referenced.
+    """
+    def __init__(self, token):
+        self.token = token
+        self.files = {}
+
+    def add(self, filename, linenumber):
+        if filename not in self.files:
+            self.files[filename] = FileCount(filename)
+        self.files[filename].add(linenumber)
+
+    def __str__(self):
+        if len(self.files) > 3:
+            files = []
+            for (i, filecount) in enumerate(self.files.values()):
+                files.append(str(filecount))
+                if i >= 5:
+                    break
+            files = ", ".join(files) + f", ... ({len(self.files):,} files)"
+        else:
+            files = ", ".join(str(filecount) for filecount in self.files.values())
+        return f"{self.count_files():,} files, {self.count_lines():,} locations: {files}"
+
+    def count_files(self):
+        return len(self.files)
+
+    def count_lines(self):
+        return sum(fc.count_lines() for fc in self.files.values())
+
+
+def find_token_references(lexer_sources, args):
+    """
+    Find all references to all tokens in the source code of all lexers.
+
+    Note that this can't be 100% reliable, as it searches the source code for
+    certain patterns: It searches for the last two components of a token name,
+    i.e. to find references to the token ``Token.Literal.Number.Integer.Long``
+    it searches for the regular expression ``\\bInteger.Long\\b``. This
+    won't work reliably for top level token like ``Token.String`` since this
+    is often referred to as ``String``, but searching for ``\\bString\\b``
+    yields to many false positives.
+    """
+
+    # Maps token to :class:`TokenCount` objects.
+    token_references = {}
+
+    # Search for each token in each lexer source file and record in which file
+    # and in which line they are referenced
+    for t in sub_tokens(token.Token):
+        parts = list(t)[-2:]
+        if len(parts) == 0:
+            name = "Token"
+        elif len(parts) == 1:
+            name = f"Token.{parts[0]}"
+        else:
+            name = ".".join(parts)
+
+        token_references[t] = tokencount = TokenCount(t)
+
+        if name != "Token":
+            pattern = re.compile(f"\\b{name}\\b")
+
+            for (filename, sourcelines) in lexer_sources.items():
+                for (i, line) in enumerate(sourcelines, 1):
+                    if pattern.search(line) is not None:
+                        tokencount.add(filename, i)
+                        if args.subtoken:
+                            t2 = t
+                            while t2 is not token.Token:
+                                t2 = t2.parent
+                                tokencount2 = token_references[t2]
+                                tokencount2.add(filename, i)
+
+    return token_references
+
+
+def print_result(token_references, args):
+    def key(item):
+        return (item[1].count_files(), item[1].count_lines())
+
+    for (token, locations) in sorted(token_references.items(), key=key):
+        if args.minfiles <= locations.count_files() <= args.maxfiles and \
+           args.minlines <= locations.count_lines() <= args.maxlines:
+            print(f"{token}: {locations}")
+
+
+def main(args=None):
+    p = argparse.ArgumentParser(description="Count how often each token is used by the lexers")
+    p.add_argument(
+        "-v", "--verbose",
+        dest="verbose", help="Give more output.",
+        default=False, action="store_true"
+    )
+    p.add_argument(
+        "--minfiles",
+        dest="minfiles", metavar="COUNT", type=int,
+        help="Report all tokens referenced by at least COUNT lexer source files (default %(default)s)",
+        default=1
+    )
+    p.add_argument(
+        "--maxfiles",
+        dest="maxfiles", metavar="COUNT", type=int,
+        help="Report all tokens referenced by at most COUNT lexer source files (default %(default)s)",
+        default=1
+    )
+    p.add_argument(
+        "--minlines",
+        dest="minlines", metavar="COUNT", type=int,
+        help="Report all tokens referenced by at least COUNT lexer source lines (default %(default)s)",
+        default=1
+    )
+    p.add_argument(
+        "--maxlines",
+        dest="maxlines", metavar="COUNT", type=int,
+        help="Report all tokens referenced by at most COUNT lexer source lines (default %(default)s)",
+        default=10
+    )
+    p.add_argument(
+        "-s", "--subtoken",
+        dest="subtoken",
+        help="Include count of references to subtokens in the count for each token (default %(default)s)",
+        default=False, action="store_true"
+    )
+
+    args = p.parse_args(args)
+
+    if args.verbose:
+        print("Looking up all lexers ... ", end="", flush=True)
+    count = lookup_all_lexers()
+    if args.verbose:
+        print(f"found {count:,} lexers")
+
+    if args.verbose:
+        print("Fetching lexer source code ... ", end="", flush=True)
+    lexer_sources = fetch_lexer_sources()
+    if args.verbose:
+        print(f"found {len(lexer_sources):,} lexer source files")
+
+    if args.verbose:
+        print("Finding token references ... ", end="", flush=True)
+    token_references = find_token_references(lexer_sources, args)
+    if args.verbose:
+        print(f"found references to {len(token_references):,} tokens")
+
+    if args.verbose:
+        print()
+        print("Result:")
+    print_result(token_references, args)
+
+
+if __name__ == "__main__":
+    sys.exit(main())
index a76265f5fca2b7f6b8470c3ea5f7b69f354e2f9c..5cc0ef6f9781cc3560d563527b576e82d6f39286 100755 (executable)
@@ -191,7 +191,8 @@ def main(fn, lexer=None, options={}):
         reprs = list(map(repr, tok))
         print('   ' + reprs[1] + ' ' + ' ' * (29-len(reprs[1])) + reprs[0], end=' ')
         if debug_lexer:
-            print(' ' + ' ' * (29-len(reprs[0])) + ' : '.join(state) if state else '', end=' ')
+            print(' ' + ' ' * (29-len(reprs[0])) + ' : '.join(state)
+                  if state else '', end=' ')
         print()
 
     for type, val in lx.get_tokens(text):
@@ -206,10 +207,10 @@ def main(fn, lexer=None, options={}):
                     else:
                         show_token(tokens[i], None)
             print('Error token:')
-            l = len(repr(val))
+            vlen = len(repr(val))
             print('   ' + repr(val), end=' ')
             if debug_lexer and hasattr(lx, 'ctx'):
-                print(' ' * (60-l) + ' : '.join(lx.ctx.stack), end=' ')
+                print(' ' * (60-vlen) + ' : '.join(lx.ctx.stack), end=' ')
             print()
             print()
             return 1
index 417ac14325cccd06bf0a1599afe56bb42023bb7d..6317de62361869eb519ad7c09a48f311251f5dee 100644 (file)
 '/*\n  Blink\n  Turns on an LED on for one second, then off for one second, repeatedly.\n \n  This example code is in the public domain.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-' \n'         Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
 
 '// Pin 13 has an LED connected on most Arduino boards.\n' Comment.Single
 
 '// give it a name:\n' Comment.Single
 
 'int'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'led'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// the setup routine runs once when you press reset:\n' Comment.Single
 
 'void'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'setup'       Name.Builtin
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// initialize the digital pin as an output.\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'pinMode'     Name.Function
 '('           Punctuation
 'led'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'OUTPUT'      Keyword.Reserved
 ')'           Punctuation
 ';'           Punctuation
-'     \n'     Text
+'     '       Text.Whitespace
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// the loop routine runs over and over again forever:\n' Comment.Single
 
 'void'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Builtin
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'digitalWrite' Name.Function
 '('           Punctuation
 'led'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'HIGH'        Keyword.Reserved
 ')'           Punctuation
 ';'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 '// turn the LED on (HIGH is the voltage level)\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'delay'       Name.Function
 '('           Punctuation
 '1000'        Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 '// wait for a second\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'digitalWrite' Name.Function
 '('           Punctuation
 'led'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LOW'         Keyword.Reserved
 ')'           Punctuation
 ';'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 '// turn the LED off by making the voltage LOW\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'delay'       Name.Function
 '('           Punctuation
 '1000'        Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 '// wait for a second\n' Comment.Single
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/asc/id_ecdsa b/tests/examplefiles/asc/id_ecdsa
new file mode 100644 (file)
index 0000000..b9245e8
--- /dev/null
@@ -0,0 +1,9 @@
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-128-CBC,IVIVIVIVIVIVIVIVIVIVIVIVIVIVIVIV
+
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq=
+-----END EC PRIVATE KEY-----
diff --git a/tests/examplefiles/asc/id_ecdsa.output b/tests/examplefiles/asc/id_ecdsa.output
new file mode 100644 (file)
index 0000000..0c3ad48
--- /dev/null
@@ -0,0 +1,29 @@
+'-----BEGIN EC PRIVATE KEY-----' Generic.Heading
+'\n'          Text.Whitespace
+
+'Proc-Type'   Name.Attribute
+':'           Operator
+' '           Text.Whitespace
+'4,ENCRYPTED' Literal.String
+'\n'          Text.Whitespace
+
+'DEK-Info'    Name.Attribute
+':'           Operator
+' '           Text.Whitespace
+'AES-128-CBC,IVIVIVIVIVIVIVIVIVIVIVIVIVIVIVIV' Literal.String
+'\n\n'        Text.Whitespace
+
+'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' Literal.String
+'\n'          Text.Whitespace
+
+'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' Literal.String
+'\n'          Text.Whitespace
+
+'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' Literal.String
+'\n'          Text.Whitespace
+
+'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq=' Literal.String
+'\n'          Text.Whitespace
+
+'-----END EC PRIVATE KEY-----' Generic.Heading
+'\n'          Text.Whitespace
index 800a1c6ae1b7c7ba9a67bfe84a5098eae8b8e033..6e1aab3ef1656b652cdf0cda4dcd1352e8db6df9 100644 (file)
@@ -1,20 +1,20 @@
-"% BibTeX standard bibliography style `plain'" Comment.SingleLine
+"% BibTeX standard bibliography style `plain'" Comment.Single
 '\n   '       Text
-'% Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.' Comment.SingleLine
+'% Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.' Comment.Single
 '\n   '       Text
-'% Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.' Comment.SingleLine
+'% Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.' Comment.Single
 '\n   '       Text
-'% Unlimited copying and redistribution of this file are permitted as long as' Comment.SingleLine
+'% Unlimited copying and redistribution of this file are permitted as long as' Comment.Single
 '\n   '       Text
-'% it is unmodified.  Modifications (and redistribution of modified versions)' Comment.SingleLine
+'% it is unmodified.  Modifications (and redistribution of modified versions)' Comment.Single
 '\n   '       Text
-'% are also permitted, but only if the resulting file is renamed to something' Comment.SingleLine
+'% are also permitted, but only if the resulting file is renamed to something' Comment.Single
 '\n   '       Text
-'% besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.' Comment.SingleLine
+'% besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.' Comment.Single
 '\n   '       Text
-'% This restriction helps ensure that all standard styles are identical.' Comment.SingleLine
+'% This restriction helps ensure that all standard styles are identical.' Comment.Single
 '\n   '       Text
-'% The file btxbst.doc has the documentation for this style.' Comment.SingleLine
+'% The file btxbst.doc has the documentation for this style.' Comment.Single
 '\n\n'        Text
 
 'ENTRY'       Keyword
index 602c5d8552884f0200cf5e4df9023e5b6d2ec1d6..ff16c78924f79e4a93befa2eea1267248836b994 100644 (file)
 '/* Execute compiled code */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* XXX TO DO:\n   XXX speed up searching for keywords by using a dictionary\n   XXX document it!\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* enable more aggressive intra-module optimizations, where available */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define PY_LOCAL_AGGRESSIVE' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"Python.h"'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"code.h"'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"frameobject.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"eval.h"'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"opcode.h"'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"structmember.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<ctype.h>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifndef WITH_TSC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define READ_TIMESTAMP(var)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'if defined(__ppc__) ' Comment.Preproc
 "/* <- Don't know if this is the correct symbol; this\n\t\t\t   section should work for GCC on any PowerPC platform,\n\t\t\t   irrespective of OS.  POWER?  Who knows :-) */" Comment.Multiline
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define READ_TIMESTAMP(var) ppc_getcounter(&var)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ppc_getcounter' Name.Function
 '('           Punctuation
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'v'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tbu'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tb'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tbu2'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'loop'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'asm'         Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'mftbu %0'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '=r'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tbu'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'asm'         Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'mftb  %0'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '=r'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tb'          Name
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'asm'         Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'mftbu %0'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '=r'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tbu2'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '__builtin_expect' Name
 '('           Punctuation
 'tbu'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tbu2'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'loop'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* The slightly peculiar way of writing the next lines is\n\t   compiled better by GCC than any other way I tried. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'long'        Keyword.Type
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tbu'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'long'        Keyword.Type
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tb'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else '       Comment.Preproc
 '/* this is for linux/x86 (and probably any other GCC/x86 combo) */' Comment.Multiline
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define READ_TIMESTAMP(val) \\' Comment.Preproc
 '     __asm__ __volatile__("rdtsc" : "=A" (val))' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'dump_tsc'    Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'opcode'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ticked'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'inst0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'inst1'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'loop0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'loop1'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'intr0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'intr1'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'intr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inst'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'loop'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThreadState_Get' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'tstate'      Name
 '>'           Operator
 'tscdump'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'intr'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'intr1'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'intr0'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'inst'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inst1'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'inst0'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'intr'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'loop'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'loop1'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'loop0'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'intr'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fprintf'     Name
 '('           Punctuation
 'stderr'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'opcode=%03d t=%d inst=%06lld loop=%06lld' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'opcode'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ticked'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inst'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'loop'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Turn this on if your compiler chokes on the big switch: */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* #define CASE_TOO_BIG 1 */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef Py_DEBUG' Comment.Preproc
 '\n'          Comment.Preproc
 
 '/* For debugging the interpreter: */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define LLTRACE  1\t' Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '*'           Operator
 ')'           Punctuation
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Forward declarations */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_TSC' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'call_function' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint64'      Name
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'call_function' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'fast_function' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'do_call'     Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'ext_do_call' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'update_keyword_args' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'update_star_args' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'load_args'   Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define CALL_FLAG_VAR 1' Comment.Preproc
 'define CALL_FLAG_KW 2' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LLTRACE' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lltrace'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prtrace'     Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'call_trace'  Name.Function
 '('           Punctuation
 'Py_tracefunc' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t      '  Text
+'\t\t      '  Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'call_trace_protected' Name.Function
 '('           Punctuation
 'Py_tracefunc' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t '   Text
+'\t\t\t\t '   Text.Whitespace
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'call_exc_trace' Name.Function
 '('           Punctuation
 'Py_tracefunc' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'maybe_call_line_trace' Name.Function
 '('           Punctuation
 'Py_tracefunc' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t  '  Text
+'\t\t\t\t  '  Text.Whitespace
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'apply_slice' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'assign_slice' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmp_outcome' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'import_from' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'import_all_from' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'build_class' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'exec_statement' Name.Function
 '('           Punctuation
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_exc_info' Name.Function
 '('           Punctuation
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reset_exc_info' Name.Function
 '('           Punctuation
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'format_exc_check_arg' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string_concatenate' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define NAME_ERROR_MSG \\' Comment.Preproc
 '        " in enclosing scope"' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Dynamic execution profile */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef DYNAMIC_EXECUTION_PROFILE' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'dxpairs'     Name
 '['           Punctuation
 '257'         Literal.Number.Integer
 '256'         Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define dxp dxpairs[256]' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'dxp'         Name
 '['           Punctuation
 '256'         Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Function call profile */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef CALL_PROFILE' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 'PCALL_NUM'   Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define PCALL_ALL 0' Comment.Preproc
 'define PCALL_POP 10' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Notes about the statistics\n\n   PCALL_FAST stats\n\n   FAST_FUNCTION means no argument tuple needs to be created.\n   FASTER_FUNCTION means that the fast-path frame setup code is used.\n\n   If there is a method call where the call can be optimized by changing\n   the argument tuple and calling the function directly, it gets recorded\n   twice.\n\n   As a result, the relationship among the statistics appears to be\n   PCALL_ALL == PCALL_FUNCTION + PCALL_METHOD - PCALL_BOUND_METHOD +\n                PCALL_CFUNCTION + PCALL_TYPE + PCALL_GENERATOR + PCALL_OTHER\n   PCALL_FUNCTION > PCALL_FAST_FUNCTION > PCALL_FASTER_FUNCTION\n   PCALL_METHOD > PCALL_BOUND_METHOD\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define PCALL(POS) pcall[POS]++' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_GetCallStats' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'self'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Py_BuildValue' Name
 '('           Punctuation
 '"'           Literal.String
 'iiiiiiiiii'  Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t     ' Text
+'\t\t\t     ' Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '2'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '3'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t     ' Text
+'\t\t\t     ' Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '4'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '5'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '6'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '7'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t     ' Text
+'\t\t\t     ' Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '8'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pcall'       Name
 '['           Punctuation
 '9'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 'define PCALL(O)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_GetCallStats' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'self'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_THREAD' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef HAVE_ERRNO_H' Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<errno.h>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"pythread.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyThread_type_lock' Name
-' '           Text
+' '           Text.Whitespace
 'interpreter_lock' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* This is the GIL */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main_thread' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_ThreadsInitialized' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'interpreter_lock' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_InitThreads' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'interpreter_lock' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThread_allocate_lock' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThread_acquire_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'main_thread' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThread_get_thread_ident' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_AcquireLock' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThread_acquire_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_ReleaseLock' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThread_release_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_AcquireThread' Name.Function
 '('           Punctuation
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Check someone has called PyEval_InitThreads() to create the lock */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThread_acquire_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyThreadState_Swap' Name
 '('           Punctuation
 'tstate'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '"'           Literal.String
 'PyEval_AcquireThread: non-NULL old thread state' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_ReleaseThread' Name.Function
 '('           Punctuation
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyThreadState_Swap' Name
 '('           Punctuation
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tstate'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThread_release_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/* This function is called from PyOS_AfterFork to ensure that newly\n   created child processes don't hold locks referring to threads which\n   are not running in the child process.  (This could also be done using\n   pthread_atfork mechanism, at least for the pthreads implementation.) */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_ReInitThreads' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'interpreter_lock' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 "/*XXX Can't use PyThread_free_lock here because it does too\n\t  much error-checking.  Doing this cleanly would require\n\t  adding a new function to each thread_*.h.  Instead, just\n\t  create a new lock and waste a little bit of memory */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'interpreter_lock' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThread_allocate_lock' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThread_acquire_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'main_thread' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThread_get_thread_ident' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/* Functions save_thread and restore_thread are always defined so\n   dynamically loaded modules needn't be compiled separately for use\n   with and without threads: */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_SaveThread' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThreadState_Swap' Name
 '('           Punctuation
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_THREAD' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PyThread_release_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'tstate'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_RestoreThread' Name.Function
 '('           Punctuation
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_THREAD' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'errno'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PyThread_acquire_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'errno'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'err'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThreadState_Swap' Name
 '('           Punctuation
 'tstate'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Mechanism whereby asynchronously executing callbacks (e.g. UNIX\n   signal handlers or Mac I/O completion routines) can schedule calls\n   to a function to be called synchronously.\n   The synchronous function is called with one void* argument.\n   It should return 0 for success or -1 for failure -- failure should\n   be accompanied by an exception.\n\n   If registry succeeds, the registry function returns 0; if it fails\n   (e.g. due to too many pending calls) it returns -1 (without setting\n   an exception condition).\n\n   Note that because registry may occur from within signal handlers,\n   or other asynchronous events, calling malloc() is unsafe!\n\n#ifdef WITH_THREAD\n   Any thread can schedule pending calls, but only the main thread\n   will execute them.\n#endif\n\n   XXX WARNING!  ASYNCHRONOUSLY EXECUTING CODE!\n   There are two possible race conditions:\n   (1) nested asynchronous registry calls;\n   (2) registry calls made while pending calls are being processed.\n   While (1) is very unlikely, (2) is a real possibility.\n   The current code is safe against (2), but not against (1).\n   The safety against (2) is derived from the fact that only one\n   thread (the main thread) ever takes things out of the queue.\n\n   XXX Darn!  With the advent of thread state, we should have an array\n   of pending calls per thread in the thread state!  Later...\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define NPENDINGCALLS 32' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 ')'           Punctuation
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pendingcalls' Name
 '['           Punctuation
 'NPENDINGCALLS' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'pendingfirst' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'pendinglast' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'things_to_do' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Py_AddPendingCall' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 ')'           Punctuation
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'arg'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* XXX Begin critical section */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 "/* XXX If you want this to be safe against nested\n\t   XXX asynchronous calls, you'll have to work harder! */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'busy'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pendinglast' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'NPENDINGCALLS' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pendingfirst' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Queue full */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'pendingcalls' Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
 '.'           Punctuation
 'func'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'func'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'pendingcalls' Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
 '.'           Punctuation
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'pendinglast' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '_Py_Ticker'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'things_to_do' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Signal main loop */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* XXX End critical section */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Py_MakePendingCalls' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_THREAD' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'main_thread' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThread_get_thread_ident' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'main_thread' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'busy'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'things_to_do' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
 ';'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 ')'           Punctuation
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pendingfirst' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pendinglast' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Queue empty */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'func'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pendingcalls' Name
 '['           Punctuation
 'i'           Name
 '.'           Punctuation
 'func'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pendingcalls' Name
 '['           Punctuation
 'i'           Name
 '.'           Punctuation
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'pendingfirst' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'NPENDINGCALLS' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'func'        Name
 '('           Punctuation
 'arg'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'things_to_do' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "/* We're not done yet */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'busy'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/* The interpreter's recursion limit */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifndef Py_DEFAULT_RECURSION_LIMIT' Comment.Preproc
 '\n'          Comment.Preproc
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'recursion_limit' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_DEFAULT_RECURSION_LIMIT' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_Py_CheckRecursionLimit' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_DEFAULT_RECURSION_LIMIT' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Py_GetRecursionLimit' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'recursion_limit' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Py_SetRecursionLimit' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'new_limit'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'recursion_limit' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new_limit'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '_Py_CheckRecursionLimit' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recursion_limit' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* the macro Py_EnterRecursiveCall() only calls _Py_CheckRecursiveCall()\n   if the recursion_depth reaches _Py_CheckRecursionLimit.\n   If USE_STACKCHECK, the macro decrements _Py_CheckRecursionLimit\n   to guarantee that _Py_CheckRecursiveCall() is regularly called.\n   Without USE_STACKCHECK, there is no need for this. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '_Py_CheckRecursiveCall' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'where'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThreadState_GET' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef USE_STACKCHECK' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyOS_CheckStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tstate'      Name
 '>'           Operator
 'recursion_depth' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_MemoryError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Stack overflow' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'recursion_depth' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'recursion_limit' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tstate'      Name
 '>'           Operator
 'recursion_depth' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PyErr_Format' Name
 '('           Punctuation
 'PyExc_RuntimeError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t     ' Text
+'\t\t\t     ' Text.Whitespace
 '"'           Literal.String
 'maximum recursion depth exceeded%s' Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t     ' Text
+'\t\t\t     ' Text.Whitespace
 'where'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '_Py_CheckRecursionLimit' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recursion_limit' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Status code for main loop (reason for stack unwind) */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'why_code'    Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_NOT'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\t'          Text
+'\t'          Text.Whitespace
 '0x0001'      Literal.Number.Hex
 ','           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* No error */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_EXCEPTION' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0x0002'      Literal.Number.Hex
 ','           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Exception occurred */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_RERAISE' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\t'          Text
+'\t'          Text.Whitespace
 '0x0004'      Literal.Number.Hex
 ','           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 "/* Exception re-raised by 'finally' */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_RETURN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\t'          Text
+'\t'          Text.Whitespace
 '0x0008'      Literal.Number.Hex
 ','           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 "/* 'return' statement */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_BREAK'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\t'          Text
+'\t'          Text.Whitespace
 '0x0010'      Literal.Number.Hex
 ','           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 "/* 'break' statement */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_CONTINUE' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\t'          Text
+'\t'          Text.Whitespace
 '0x0020'      Literal.Number.Hex
 ','           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 "/* 'continue' statement */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'WHY_YIELD'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\t'          Text
+'\t'          Text.Whitespace
 '0x0040'      Literal.Number.Hex
-'\t'          Text
+'\t'          Text.Whitespace
 "/* 'yield' operator */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'why_code'    Name
-' '           Text
+' '           Text.Whitespace
 'do_raise'    Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'unpack_iterable' Name.Function
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* for manipulating the thread switch and periodic "stuff" - used to be\n   per thread, now just a pair o\' globals */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_Py_CheckInterval' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '100'         Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'volatile'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_Py_Ticker'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '100'         Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_EvalCode' Name.Function
 '('           Punctuation
 'PyCodeObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'co'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'globals'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'locals'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* XXX raise SystemError if globals is NULL */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyEval_EvalCodeEx' Name
 '('           Punctuation
 'co'          Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'globals'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'locals'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 ')'           Punctuation
 'NULL'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 ')'           Punctuation
 'NULL'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 ')'           Punctuation
 'NULL'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Interpreter main loop */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_EvalFrame' Name.Function
 '('           Punctuation
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'f'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* This is for backward compatibility with extension modules that\n           used this API; core interpreter code should call PyEval_EvalFrameEx() */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PyEval_EvalFrameEx' Name
 '('           Punctuation
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PyEval_EvalFrameEx' Name.Function
 '('           Punctuation
 'PyFrameObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'throwflag'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef DXPAIRS' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lastopcode'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'stack_pointer' Name
 ';'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 '/* Next free slot in value stack */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'next_instr'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'opcode'      Name
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Current opcode */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Current opcode argument, if any */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'why_code'    Name
-' '           Text
+' '           Text.Whitespace
 'why'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Reason for block stack unwind */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'err'         Name
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Error status -- nonzero if error */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'x'           Name
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Result object -- NULL if error */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'v'           Name
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Temporary objects popped off stack */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'u'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 't'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 '/* for PRINT opcodes */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'fastlocals'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'freevars'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Return value */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyThreadState' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tstate'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyThreadState_GET' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyCodeObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'co'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* when tracing we set things up so that\n\n               not (instr_lb <= current_bytecode_offset < instr_ub)\n\n\t   is true when the line being executed has changed.  The\n           initial values are such as to make this false the first\n           time it is tested. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'instr_ub'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'instr_lb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'instr_prev'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'first_instr' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'names'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'consts'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'if defined(Py_DEBUG) || defined(LLTRACE)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Make it easier to find out where we are with a debugger */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'filename'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Tuple access macros */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifndef Py_DEBUG' Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_TSC' Comment.Preproc
 '\n'          Comment.Preproc
 
 "/* Use Pentium timestamp counter to mark certain events:\n   inst0 -- beginning of switch statement for opcode dispatch\n   inst1 -- end of switch statement (may be skipped)\n   loop0 -- the top of the mainloop\n   loop1 -- place where control returns again to top of mainloop\n            (may be skipped)\n   intr1 -- beginning of long interruption\n   intr2 -- end of long interruption\n\n   Many opcodes call out to helper C functions.  In some cases, the\n   time in those functions should be counted towards the time for the\n   opcode, but not in all cases.  For example, a CALL_FUNCTION opcode\n   calls another Python function; there's no point in charge all the\n   bytecode executed by the called function to the caller.\n\n   It's hard to make a useful judgement statically.  In the presence\n   of operator overloading, it's impossible to tell if a call will\n   execute new Python code or not.\n\n   It's a case-by-case judgement.  I'll use intr1 for the following\n   cases:\n\n   EXEC_STMT\n   IMPORT_STAR\n   IMPORT_FROM\n   CALL_FUNCTION (and friends)\n\n */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'uint64'      Name
-' '           Text
+' '           Text.Whitespace
 'inst0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inst1'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'loop0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'loop1'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'intr0'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'intr1'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ticked'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'inst0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'inst1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'loop0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'loop1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* shut up the compiler */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'opcode'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Code access macros */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define INSTR_OFFSET()\t((int)(next_instr - first_instr))' Comment.Preproc
 'define JUMPBY(x)\t(next_instr += (x))' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* OpCode prediction macros\n\tSome opcodes tend to come in pairs thus making it possible to predict\n\tthe second code when the first is run.  For example, COMPARE_OP is often\n\tfollowed by JUMP_IF_FALSE or JUMP_IF_TRUE.  And, those opcodes are often\n\tfollowed by a POP_TOP.\n\n\tVerifying the prediction costs a single high-speed test of register\n\tvariable against a constant.  If the pairing was good, then the\n\tprocessor has a high likelihood of making its own successful branch\n\tprediction which results in a nearly zero overhead transition to the\n\tnext opcode.\n\n\tA successful prediction saves a trip through the eval-loop including\n\tits two unpredictable branches, the HASARG test and the switch-case.\n\n        If collecting opcode statistics, turn off prediction so that\n\tstatistics are accurately maintained (the predictions bypass\n\tthe opcode frequency counter updates).\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef DYNAMIC_EXECUTION_PROFILE' Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define PREDICTED(op)\t\tPRED_##op: next_instr++' Comment.Preproc
 'define PREDICTED_WITH_ARG(op)\tPRED_##op: oparg = PEEKARG(); next_instr += 3' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Stack manipulation macros */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* The stack can grow at most MAXINT deep, as co_nlocals and\n   co_stacksize are ints. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define STACK_LEVEL()\t((int)(stack_pointer - f->f_valuestack))' Comment.Preproc
 'define BASIC_POP()\t(*--stack_pointer)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LLTRACE' Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Local variable macros */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define GETLOCAL(i)\t(fastlocals[i])' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* The SETLOCAL() macro must not DECREF the local variable in-place and\n   then store the new value; it must copy the old value to a temporary\n   value, then store the new value, and then DECREF the temporary value.\n   This is because it is possible that during the DECREF the frame is\n   accessed by other code (e.g. a __del__ method or gc.collect()) and the\n   variable would be pointing to already-freed memory. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define SETLOCAL(i, value)\tdo { PyObject *tmp = GETLOCAL(i); \\' Comment.Preproc
 '                                     Py_XDECREF(tmp); } while (0)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Start of code */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* push frame */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Py_EnterRecursiveCall' Name
 '('           Punctuation
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'frame'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'use_tracing' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_tracefunc' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* tstate->c_tracefunc, if defined, is a\n\t\t\t   function that will be called on *every* entry\n\t\t\t   to a code block.  Its return value, if not\n\t\t\t   None, is a function that will be called at\n\t\t\t   the start of each executed line of code.\n\t\t\t   (Actually, the function must return itself\n\t\t\t   in order to continue tracing.)  The trace\n\t\t\t   functions are called with three arguments:\n\t\t\t   a pointer to the current frame, a string\n\t\t\t   indicating why the function is called, and\n\t\t\t   an argument which depends on the situation.\n\t\t\t   The global trace function is also called\n\t\t\t   whenever an exception is detected. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call_trace'  Name
 '('           Punctuation
 '>'           Operator
 'c_tracefunc' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_traceobj'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyTrace_CALL' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Trace function raised an error */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'exit_eval_frame' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_profilefunc' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* Similar for c_profilefunc, except it needn\'t\n\t\t\t   return itself and isn\'t called for "line" events */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call_trace'  Name
 '('           Punctuation
 '>'           Operator
 'c_profilefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_profileobj' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyTrace_CALL' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Profile function raised an error */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'exit_eval_frame' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'co'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_code'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'names'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'co'          Name
 '-'           Operator
 '>'           Operator
 'co_names'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'consts'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'co'          Name
 '-'           Operator
 '>'           Operator
 'co_consts'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fastlocals'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_localsplus' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'freevars'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_localsplus' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'co'          Name
 '-'           Operator
 '>'           Operator
 'co_nlocals'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'first_instr' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyString_AS_STRING' Name
 '('           Punctuation
 'co'          Name
 'co_code'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 "/* An explanation is in order for the next line.\n\n\t   f->f_lasti now refers to the index of the last instruction\n\t   executed.  You might think this was obvious from the name, but\n\t   this wasn't always true before 2.3!  PyFrame_New now sets\n\t   f->f_lasti to -1 (i.e. the index *before* the first instruction)\n\t   and YIELD_VALUE doesn't fiddle with f_lasti any more.  So this\n\t   does work.  Promise. */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'next_instr'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'first_instr' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_lasti'     Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* remains NULL unless yield suspends frame */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LLTRACE' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'lltrace'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItemString' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '__lltrace__' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 'if defined(Py_DEBUG) || defined(LLTRACE)' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t'          Text
+'\t'          Text.Whitespace
 'filename'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyString_AsString' Name
 '('           Punctuation
 'co'          Name
 'co_filename' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Not a reference, just anything non-NULL */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'throwflag'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* support for generator.throw() */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'on_error'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
 ';'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_TSC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'inst1'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* Almost surely, the opcode executed a break\n\t\t\t   or a continue, preventing inst1 from being set\n\t\t\t   on the way out of the loop.\n\t\t\t*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'inst1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'loop1'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inst1'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'dump_tsc'    Name
 '('           Punctuation
 'opcode'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ticked'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inst0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inst1'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'loop0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'loop1'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t '     Text
+'\t\t\t '     Text.Whitespace
 'intr0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'ticked'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'inst1'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'intr0'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'intr1'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'loop0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_valuestack' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* else underflow */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'STACK_LEVEL' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'co'          Name
 '-'           Operator
 '>'           Operator
 'co_stacksize' Name
 ')'           Punctuation
 ';'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '/* else overflow */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 "/* Do periodic things.  Doing this every time through\n\t\t   the loop would add too much overhead, so we do it\n\t\t   only every Nth instruction.  We also do it if\n\t\t   ``things_to_do'' is set, i.e. when an asynchronous\n\t\t   event needs attention (e.g. a signal handler or\n\t\t   async I/O handler); see Py_AddPendingCall() and\n\t\t   Py_MakePendingCalls() above. */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '-'           Operator
 '_Py_Ticker'  Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'next_instr'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SETUP_FINALLY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 '/* Make the last opcode before\n                                   a try: finally: block uninterruptable. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '_Py_Ticker'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_Py_CheckInterval' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_TSC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'ticked'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'things_to_do' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Py_MakePendingCalls' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'on_error'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'things_to_do' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '/* MakePendingCalls() didn\'t succeed.\n\t\t\t\t\t   Force early re-execution of this\n\t\t\t\t\t   "periodic" code, possibly after\n\t\t\t\t\t   a thread switch */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '_Py_Ticker'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_THREAD' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Give another thread a chance */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyThreadState_Swap' Name
 '('           Punctuation
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tstate'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyThread_release_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Other threads may run now */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyThread_acquire_lock' Name
 '('           Punctuation
 'interpreter_lock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyThreadState_Swap' Name
 '('           Punctuation
 'tstate'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Check for thread interrupts */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'async_exc'   Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'async_exc'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'async_exc'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyErr_SetNone' Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'on_error'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fast_next_opcode' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_lasti'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'INSTR_OFFSET' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* line-by-line tracing support */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_tracefunc' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'tracing'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* see maybe_call_line_trace\n\t\t\t   for expository comments */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stack_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'maybe_call_line_trace' Name
 '('           Punctuation
 'tstate'      Name
 '>'           Operator
 'c_tracefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t    ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_traceobj'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t    ' Text.Whitespace
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'instr_lb'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'instr_ub'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t    ' Text.Whitespace
 '&'           Operator
 'instr_prev'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* Reload possibly changed frame fields */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'JUMPTO'      Name
 '('           Punctuation
 'f'           Name
 'f_lasti'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* trace function raised an exception */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'on_error'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Extract opcode and argument */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'opcode'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NEXTOP'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 "/* allows oparg to be stored in a register because\n\t\t\tit doesn't have to be remembered across a full loop */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HAS_ARG'     Name
 '('           Punctuation
 'opcode'      Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NEXTARG'     Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'dispatch_opcode' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef DYNAMIC_EXECUTION_PROFILE' Comment.Preproc
 'ifdef DXPAIRS' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'dxpairs'     Name
 '['           Punctuation
 'lastopcode'  Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'lastopcode'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'opcode'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'dxp'         Name
 '['           Punctuation
 'opcode'      Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LLTRACE' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Instruction tracing */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lltrace'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HAS_ARG'     Name
 '('           Punctuation
 'opcode'      Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_lasti'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'opcode'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_lasti'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'opcode'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Main switch on opcode */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'inst0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opcode'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* BEWARE!\n\t\t   It is essential that any operation that fails sets either\n\t\t   x to NULL, err to nonzero, or why to anything but WHY_NOT,\n\t\t   and that no operation that succeeds does this! */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* case STOP_CODE: this is an error! */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'NOP'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_FAST'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETLOCAL'    Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
 'PyExc_UnboundLocalError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'UNBOUNDLOCAL_ERROR_MSG' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyTuple_GetItem' Name
 '('           Punctuation
 'co'          Name
 '>'           Operator
 'co_varnames' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_CONST'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'consts'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED_WITH_ARG' Name
 '('           Punctuation
 'STORE_FAST'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_FAST'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SETLOCAL'    Name
 '('           Punctuation
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED'   Name
 '('           Punctuation
 'POP_TOP'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'POP_TOP'     Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ROT_TWO'     Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_SECOND'  Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ROT_THREE'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_SECOND'  Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_THIRD'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ROT_FOUR'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FOURTH'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_SECOND'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_THIRD'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_FOURTH'  Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DUP_TOP'     Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DUP_TOPX'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_SECOND'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_SECOND'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_THIRD'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 '"'           Literal.String
 'invalid argument to DUP_TOPX' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t      ' Text
+'\t\t\t\t      ' Text.Whitespace
 '"'           Literal.String
 ' (bytecode corruption?)' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'UNARY_POSITIVE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Positive' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'UNARY_NEGATIVE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Negative' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'UNARY_NOT'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_IsTrue' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'Py_True'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'Py_True'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'Py_False'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'Py_False'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'UNARY_CONVERT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_Repr' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'UNARY_INVERT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Invert' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_POWER' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Power' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_MULTIPLY' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Multiply' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_DIVIDE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '_Py_QnewFlag' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Divide' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* -Qnew is in effect:\tfall through to\n\t\t\t   BINARY_TRUE_DIVIDE */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_TRUE_DIVIDE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_TrueDivide' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_FLOOR_DIVIDE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_FloorDivide' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_MODULO' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Remainder' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_ADD'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* INLINE: int + int */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
 '^'           Operator
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '^'           Operator
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slow_add'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_FromLong' Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyString_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t '   Text
+'\t\t\t\t '   Text.Whitespace
 'PyString_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string_concatenate' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'next_instr'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* string_concatenate consumed the ref to v */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'skip_decref_vx' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'slow_add'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Add' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t  '      Text
+'\t\t  '      Text.Whitespace
 'skip_decref_vx' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_SUBTRACT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* INLINE: int - int */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
 '^'           Operator
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '^'           Operator
 '~'           Operator
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slow_sub'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_FromLong' Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'slow_sub'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Subtract' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_SUBSCR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyList_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* INLINE: list[int] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_ssize_t'  Name
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AsSsize_t' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyList_GET_SIZE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyList_GET_SIZE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyList_GET_ITEM' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slow_get'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'slow_get'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_GetItem' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_LSHIFT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Lshift' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_RSHIFT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Rshift' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_AND'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_And' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_XOR'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Xor' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BINARY_OR'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_Or' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LIST_APPEND' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyList_Append' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'JUMP_ABSOLUTE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_POWER' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlacePower' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_MULTIPLY' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceMultiply' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_DIVIDE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '_Py_QnewFlag' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceDivide' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* -Qnew is in effect:\tfall through to\n\t\t\t   INPLACE_TRUE_DIVIDE */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_TRUE_DIVIDE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceTrueDivide' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_FLOOR_DIVIDE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceFloorDivide' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_MODULO' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceRemainder' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_ADD' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* INLINE: int + int */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
 '^'           Operator
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '^'           Operator
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slow_iadd'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_FromLong' Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyString_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t '   Text
+'\t\t\t\t '   Text.Whitespace
 'PyString_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string_concatenate' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'next_instr'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* string_concatenate consumed the ref to v */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'skip_decref_v' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'slow_iadd'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceAdd' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t  '      Text
+'\t\t  '      Text.Whitespace
 'skip_decref_v' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_SUBTRACT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* INLINE: int - int */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
 '^'           Operator
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '^'           Operator
 '~'           Operator
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slow_isub'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_FromLong' Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'slow_isub'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceSubtract' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_LSHIFT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceLshift' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_RSHIFT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceRshift' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_AND' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceAnd' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_XOR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceXor' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'INPLACE_OR'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyNumber_InPlaceOr' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SLICE'       Name
 '+'           Operator
 '0'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SLICE'       Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SLICE'       Name
 '+'           Operator
 '2'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SLICE'       Name
 '+'           Operator
 '3'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opcode'      Name
 '-'           Operator
 'SLICE'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opcode'      Name
 '-'           Operator
 'SLICE'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'apply_slice' Name
 '('           Punctuation
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_SLICE' Name
 '+'           Operator
 '0'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_SLICE' Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_SLICE' Name
 '+'           Operator
 '2'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_SLICE' Name
 '+'           Operator
 '3'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opcode'      Name
 '-'           Operator
 'STORE_SLICE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opcode'      Name
 '-'           Operator
 'STORE_SLICE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 't'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'assign_slice' Name
 '('           Punctuation
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* u[v:w] = t */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 't'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_SLICE' Name
 '+'           Operator
 '0'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_SLICE' Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_SLICE' Name
 '+'           Operator
 '2'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_SLICE' Name
 '+'           Operator
 '3'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opcode'      Name
 '-'           Operator
 'DELETE_SLICE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opcode'      Name
 '-'           Operator
 'DELETE_SLICE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'assign_slice' Name
 '('           Punctuation
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t' Text.Whitespace
 '/* del u[v:w] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_SUBSCR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-3'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* v[w] = u */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_SetItem' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_SUBSCR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-2'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* del v[w] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_DelItem' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PRINT_EXPR'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PySys_GetObject' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_RuntimeError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 'lost sys.displayhook' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_Pack' Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyEval_CallObject' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PRINT_ITEM_TO' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* fall through to PRINT_ITEM */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PRINT_ITEM'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PySys_GetObject' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_RuntimeError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 'lost sys.stdout' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* PyFile_SoftSpace() can exececute arbitrary code\n\t\t\t   if sys.stdout is an instance with a __getattr__.\n\t\t\t   If __getattr__ raises an exception, w will\n\t\t\t   be freed, so we need to prevent that temporarily. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XINCREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFile_SoftSpace' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFile_WriteString' Name
 '('           Punctuation
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFile_WriteObject' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Py_PRINT_RAW' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 '/* XXX move into writeobject() ? */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyString_Check' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyString_AS_STRING' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_ssize_t'  Name
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyString_GET_SIZE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 '!'           Operator
 'isspace'     Name
 '('           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyFile_SoftSpace' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef Py_USING_UNICODE' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyUnicode_Check' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_UNICODE'  Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyUnicode_AS_UNICODE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_ssize_t'  Name
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyUnicode_GET_SIZE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 '!'           Operator
 'Py_UNICODE_ISSPACE' Name
 '('           Punctuation
 '-1'          Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 'PyFile_SoftSpace' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    \t' Text
+'\t\t\t    \t' Text.Whitespace
 'PyFile_SoftSpace' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'stream'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PRINT_NEWLINE_TO' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* fall through to PRINT_NEWLINE */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PRINT_NEWLINE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PySys_GetObject' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_RuntimeError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 'lost sys.stdout' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFile_WriteString' Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyFile_SoftSpace' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'stream'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'stream'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef CASE_TOO_BIG' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'default'     Keyword
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opcode'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'RAISE_VARARGS' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* traceback */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Fallthrough */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* value */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Fallthrough */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* exc */'   Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '/* Fallthrough */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'do_raise'    Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'default'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t   ' Text
+'\t\t\t\t\t   ' Text.Whitespace
 '"'           Literal.String
 'bad RAISE_VARARGS oparg' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_LOCALS' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'no locals'   Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'RETURN_VALUE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RETURN'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_block_end' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'YIELD_VALUE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_stacktop'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stack_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_YIELD'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_yield'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'EXEC_STMT'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-3'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'exec_statement' Name
 '('           Punctuation
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'POP_BLOCK'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyTryBlock'  Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFrame_BlockPop' Name
 '('           Punctuation
 'f'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'STACK_LEVEL' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_level'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'END_FINALLY' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_Check' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'why_code'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_YIELD'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RETURN'  Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_CONTINUE' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyExceptionClass_Check' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyString_Check' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_Restore' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RERAISE' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '"'           Literal.String
 "'finally' pops bad exception" Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BUILD_CLASS' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-2'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'build_class' Name
 '('           Punctuation
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_NAME'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyDict_CheckExact' Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_SetItem' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_SetItem' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyErr_Format' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t     ' Text
+'\t\t\t\t     ' Text.Whitespace
 '"'           Literal.String
 'no locals found when storing %s' Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t     ' Text
+'\t\t\t\t     ' Text.Whitespace
 'PyObject_REPR' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_NAME' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_DelItem' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
 'PyExc_NameError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t\t' Text.Whitespace
 'NAME_ERROR_MSG' Name
-' '           Text
+' '           Text.Whitespace
 ','           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyErr_Format' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t     ' Text
+'\t\t\t\t     ' Text.Whitespace
 '"'           Literal.String
 'no locals when deleting %s' Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t     ' Text
+'\t\t\t\t     ' Text.Whitespace
 'PyObject_REPR' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED_WITH_ARG' Name
 '('           Punctuation
 'UNPACK_SEQUENCE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'UNPACK_SEQUENCE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyTuple_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_GET_SIZE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'items'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'PyTupleObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'v'           Name
 '>'           Operator
 'ob_item'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'items'       Name
 '['           Punctuation
 'oparg'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyList_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyList_GET_SIZE' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'items'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'PyListObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'v'           Name
 '>'           Operator
 'ob_item'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'items'       Name
 '['           Punctuation
 'oparg'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unpack_iterable' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t ' Text
+'\t\t\t\t\t\t ' Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyErr_ExceptionMatches' Name
 '('           Punctuation
 'PyExc_TypeError' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_TypeError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 'unpack non-sequence' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_ATTR'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-2'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_SetAttr' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* v.w = u */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_ATTR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_SetAttr' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t' Text.Whitespace
 '/* del v.w */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_GLOBAL' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_SetItem' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_GLOBAL' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_DelItem' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t    ' Text
+'\t\t\t\t    ' Text.Whitespace
 'PyExc_NameError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'GLOBAL_NAME_ERROR_MSG' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_NAME'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_Format' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t     ' Text
+'\t\t\t\t\t     ' Text.Whitespace
 '"'           Literal.String
 'no locals when loading %s' Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t     ' Text
+'\t\t\t\t\t     ' Text.Whitespace
 'PyObject_REPR' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyDict_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItem' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_XINCREF'  Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_GetItem' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'PyErr_ExceptionMatches' Name
 'PyExc_KeyError' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyErr_Clear' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItem' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItem' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_builtins'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t\t    ' Text.Whitespace
 'PyExc_NameError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t\t    ' Text.Whitespace
 'NAME_ERROR_MSG' Name
-' '           Text
+' '           Text.Whitespace
 ','           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_GLOBAL' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyString_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Inline the PyDict_GetItem() calls.\n\t\t\t\t   WARNING: this is an extreme speed hack.\n\t\t\t\t   Do not try this at home. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'hash'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'PyStringObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'w'           Name
 '>'           Operator
 'ob_shash'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hash'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyDictObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'd'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyDictEntry' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'e'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyDictObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '('           Punctuation
 'f_globals'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hash'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '-'           Operator
 '>'           Operator
 'me_value'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyDictObject' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '('           Punctuation
 'f_builtins'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hash'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '-'           Operator
 '>'           Operator
 'me_value'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'load_global_error' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* This is the un-inlined version of the code above */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItem' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItem' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_builtins'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t  '  Text
+'\t\t\t\t  '  Text.Whitespace
 'load_global_error' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t    ' Text.Whitespace
 'PyExc_NameError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t    ' Text
+'\t\t\t\t\t\t    ' Text.Whitespace
 'GLOBAL_NAME_ERROR_MSG' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'DELETE_FAST' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETLOCAL'    Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SETLOCAL'    Name
 '('           Punctuation
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyExc_UnboundLocalError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'UNBOUNDLOCAL_ERROR_MSG' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyTuple_GetItem' Name
 '('           Punctuation
 'co'          Name
 '>'           Operator
 'co_varnames' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_CLOSURE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'freevars'    Name
 '['           Punctuation
 'oparg'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_DEREF'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'freevars'    Name
 '['           Punctuation
 'oparg'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyCell_Get'  Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 "/* Don't stomp existing exception */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_GET_SIZE' Name
 '('           Punctuation
 'co'          Name
 'co_cellvars' Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_GET_ITEM' Name
 '('           Punctuation
 'co'          Name
 '>'           Operator
 'co_cellvars' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t       ' Text
+'\t\t\t\t\t\t       ' Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t       ' Text
+'\t\t\t       ' Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'PyExc_UnboundLocalError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'UNBOUNDLOCAL_ERROR_MSG' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t       ' Text
+'\t\t\t       ' Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_GET_ITEM' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t      ' Text
+'\t\t\t\t\t      ' Text.Whitespace
 'co'          Name
 '-'           Operator
 '>'           Operator
 'co_freevars' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t      ' Text
+'\t\t\t\t\t      ' Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_GET_SIZE' Name
 '('           Punctuation
 'co'          Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t       ' Text
+'\t\t\t       ' Text.Whitespace
 'format_exc_check_arg' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'PyExc_NameError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'UNBOUNDFREE_ERROR_MSG' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t       ' Text
+'\t\t\t\t       ' Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'STORE_DEREF' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'freevars'    Name
 '['           Punctuation
 'oparg'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyCell_Set'  Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BUILD_TUPLE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_New' Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '-'           Operator
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyTuple_SET_ITEM' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BUILD_LIST'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'PyList_New'  Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '-'           Operator
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyList_SET_ITEM' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BUILD_MAP'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_New'  Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LOAD_ATTR'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_GetAttr' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'COMPARE_OP'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_CheckExact' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_CheckExact' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* INLINE: cmp(int, int) */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'res'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_AS_LONG' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_LT'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'b'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_LE'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_EQ'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_NE'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_GT'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'b'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_GE'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_IS'    Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PyCmp_IS_NOT' Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'default'     Keyword
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slow_compare' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_True'     Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Py_False'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t  '    Text
+'\t\t\t  '    Text.Whitespace
 'slow_compare' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cmp_outcome' Name
 '('           Punctuation
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'JUMP_IF_FALSE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'JUMP_IF_TRUE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'IMPORT_NAME' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyDict_GetItemString' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_builtins'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '__import__'  Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_ImportError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 '__import__ not found' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_AsLong' Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_Pack' Name
 '('           Punctuation
 '5'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'w'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t  ' Text
+'\t\t\t\t\t\t  ' Text.Whitespace
 'Py_None'     Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'v'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_Pack' Name
 '('           Punctuation
 '4'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'w'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_globals'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t  ' Text
+'\t\t\t\t\t\t  ' Text.Whitespace
 'Py_None'     Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyEval_CallObject' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'IMPORT_STAR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyFrame_FastToLocals' Name
 '('           Punctuation
 'f'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_locals'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '"'           Literal.String
 "no locals found during 'import *'" Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'import_all_from' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyFrame_LocalsToFast' Name
 '('           Punctuation
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'IMPORT_FROM' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GETITEM'     Name
 '('           Punctuation
 'names'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'import_from' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'JUMP_FORWARD' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'JUMPBY'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED_WITH_ARG' Name
 '('           Punctuation
 'JUMP_IF_FALSE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'JUMP_IF_FALSE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_True'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'POP_TOP'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_False'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPBY'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_IsTrue' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPBY'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED_WITH_ARG' Name
 '('           Punctuation
 'JUMP_IF_TRUE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'JUMP_IF_TRUE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_False'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'POP_TOP'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_True'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPBY'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_next_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_IsTrue' Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPBY'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED_WITH_ARG' Name
 '('           Punctuation
 'JUMP_ABSOLUTE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'JUMP_ABSOLUTE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'JUMPTO'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'GET_ITER'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* before: [obj]; after [getiter(obj)] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_GetIter' Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'FOR_ITER'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'PREDICTED_WITH_ARG' Name
 '('           Punctuation
 'FOR_ITER'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FOR_ITER'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* before: [iter]; after: [iter, iter()] *or* [] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'v'           Name
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'STORE_FAST'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PREDICT'     Name
 '('           Punctuation
 'UNPACK_SEQUENCE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'PyErr_ExceptionMatches' Name
 'PyExc_StopIteration' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_Clear' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* iterator ended normally */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-' \t\t\t'     Text
+' \t\t\t'     Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'JUMPBY'      Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BREAK_LOOP'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_BREAK'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_block_end' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'CONTINUE_LOOP' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_FromLong' Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'retval'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_CONTINUE' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fast_block_end' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SETUP_LOOP'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SETUP_EXCEPT' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SETUP_FINALLY' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* NOTE: If you add any new block-setup opcodes that are not try/except/finally\n\t\t\t   handlers, you may need to update the PyGen_NeedsFinalizing() function. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyFrame_BlockSetup' Name
 '('           Punctuation
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'opcode'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'INSTR_OFFSET' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t   ' Text
+'\t\t\t\t\t   ' Text.Whitespace
 'STACK_LEVEL' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'WITH_CLEANUP' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* TOP is the context.__exit__ bound method.\n\t\t\t   Below that are 1-3 values indicating how/why\n\t\t\t   we entered the finally clause:\n\t\t\t   - SECOND = None\n\t\t\t   - (SECOND, THIRD) = (WHY_{RETURN,CONTINUE}), retval\n\t\t\t   - SECOND = WHY_*; no retval below it\n\t\t\t   - (SECOND, THIRD, FOURTH) = exc_info()\n\t\t\t   In the last case, we must call\n\t\t\t     TOP(SECOND, THIRD, FOURTH)\n\t\t\t   otherwise we must call\n\t\t\t     TOP(None, None, None)\n\n\t\t\t   In addition, if the stack represents an exception,\n\t\t\t   *and* the function call returns a \'true\' value, we\n\t\t\t   "zap" this information, to prevent END_FINALLY from\n\t\t\t   re-raising the exception.  (But non-local gotos\n\t\t\t   should still be resumed.)\n\t\t\t*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SECOND'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyInt_Check' Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'THIRD'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FOURTH'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* XXX Not the fastest way to call it... */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_CallFunctionObjArgs' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Go to error exit */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyObject_IsTrue' Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* There was an exception and a true return */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Again */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'STACKADJ'    Name
 '('           Punctuation
 '-3'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* Let END_FINALLY do its thing */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'CALL_FUNCTION' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'sp'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PCALL'       Name
 '('           Punctuation
 'PCALL_ALL'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'sp'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stack_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef WITH_TSC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call_function' Name
 '('           Punctuation
 '&'           Operator
 'sp'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'intr0'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call_function' Name
 '('           Punctuation
 '&'           Operator
 'sp'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sp'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'CALL_FUNCTION_VAR' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'CALL_FUNCTION_KW' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'CALL_FUNCTION_VAR_KW' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'na'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xff'        Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nk'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
 '>'           Operator
 '>'           Operator
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xff'        Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'flags'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opcode'      Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'CALL_FUNCTION' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'na'          Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'nk'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'pfunc'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'func'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'sp'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'PCALL'       Name
 '('           Punctuation
 'PCALL_ALL'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'flags'       Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'CALL_FLAG_VAR' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'n'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'flags'       Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'CALL_FLAG_KW' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'n'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'pfunc'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'func'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'pfunc'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyMethod_Check' Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'PyMethod_GET_SELF' Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'self'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyMethod_GET_SELF' Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'self'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'func'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyMethod_GET_FUNCTION' Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 '*'           Operator
 'pfunc'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 '*'           Operator
 'pfunc'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'self'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'na'          Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'n'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'sp'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stack_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ext_do_call' Name
 '('           Punctuation
 'func'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'sp'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'flags'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'na'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nk'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'intr1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sp'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'func'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stack_pointer' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfunc'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'MAKE_FUNCTION' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* code object */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFunction_New' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_globals'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* XXX Maybe this should be a separate opcode? */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_New' Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '-'           Operator
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyTuple_SET_ITEM' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFunction_SetDefaults' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'MAKE_CLOSURE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* code object */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFunction_New' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_globals'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFunction_SetClosure' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyTuple_New' Name
 '('           Punctuation
 'oparg'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '-'           Operator
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyTuple_SET_ITEM' Name
 '('           Punctuation
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFunction_SetDefaults' Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BUILD_SLICE' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TOP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PySlice_New' Name
 '('           Punctuation
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'SET_TOP'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'EXTENDED_ARG' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'opcode'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NEXTOP'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'oparg'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'oparg'       Name
 '<'           Operator
 '<'           Operator
 '16'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'NEXTARG'     Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'dispatch_opcode' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'default'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'fprintf'     Name
 '('           Punctuation
 'stderr'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '"'           Literal.String
 'XXX lineno: %d, opcode: %d' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyCode_Addr2Line' Name
 '('           Punctuation
 'f'           Name
 '>'           Operator
 'f_code'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_lasti'     Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'opcode'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'unknown opcode' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef CASE_TOO_BIG' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* switch */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'on_error'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'inst1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Quickly continue if no error occurred */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef CHECKEXC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '/* This check is expensive! */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'fprintf'     Name
 '('           Punctuation
 'stderr'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 'XXX undetected error' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'loop1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Normal, fast path */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef CHECKEXC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'err'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Double-check exception status */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RERAISE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyErr_SetString' Name
 '('           Punctuation
 'PyExc_SystemError' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '"'           Literal.String
 'error return without exception set' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef CHECKEXC' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* This check is expensive! */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'PyErr_Occurred' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 '['           Punctuation
 '1024'        Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'buf'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Stack unwind with exception ' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '"'           Literal.String
 'set and why=%d' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'why'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_FatalError' Name
 '('           Punctuation
 'buf'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Log traceback info if this is a real exception */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyTraceBack_Here' Name
 '('           Punctuation
 'f'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_tracefunc' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'call_exc_trace' Name
 '('           Punctuation
 'tstate'      Name
 '>'           Operator
 'c_tracefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t       ' Text
+'\t\t\t\t\t       ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_traceobj'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* For the rest, treat WHY_RERAISE as WHY_EXCEPTION */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RERAISE' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Unwind stacks if a (pseudo) exception occurred */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fast_block_end' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_iblock'    Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'PyTryBlock'  Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyFrame_BlockPop' Name
 '('           Punctuation
 'f'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_YIELD'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_type'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SETUP_LOOP'  Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_CONTINUE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 "/* For a continue inside a try block,\n\t\t\t\t   don't pop the block for the loop. */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'PyFrame_BlockSetup' Name
 '('           Punctuation
 'f'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_type'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_handler'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t   ' Text
+'\t\t\t\t\t\t   ' Text.Whitespace
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_level'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPTO'      Name
 '('           Punctuation
 'PyInt_AS_LONG' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_DECREF'   Name
 '('           Punctuation
 'retval'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'STACK_LEVEL' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_level'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_type'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SETUP_LOOP'  Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_BREAK'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPTO'      Name
 '('           Punctuation
 'b'           Name
 'b_handler'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_type'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SETUP_FINALLY' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t    '  Text
+'\t\t\t    '  Text.Whitespace
 '('           Punctuation
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_type'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SETUP_EXCEPT' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t     ' Text
+'\t\t\t     ' Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyObject'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'exc'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'val'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tb'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PyErr_Fetch' Name
 '('           Punctuation
 '&'           Operator
 'exc'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'val'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'tb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Py_None'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'val'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 "/* Make the raw exception data\n\t\t\t\t\t   available to the handler,\n\t\t\t\t\t   so a program can emulate the\n\t\t\t\t\t   Python main loop.  Don't do\n\t\t\t\t\t   this for 'finally'. */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name
 '-'           Operator
 '>'           Operator
 'b_type'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SETUP_EXCEPT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'PyErr_NormalizeException' Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t' Text.Whitespace
 '&'           Operator
 'exc'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'val'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'tb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'set_exc_info' Name
 '('           Punctuation
 'tstate'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t     ' Text
+'\t\t\t\t\t\t\t     ' Text.Whitespace
 'exc'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tb'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'Py_INCREF'   Name
 '('           Punctuation
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'Py_None'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'tb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'val'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'exc'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'WHY_RETURN'  Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_CONTINUE' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'retval'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PyInt_FromLong' Name
 '('           Punctuation
 '('           Punctuation
 'why'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'PUSH'        Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'JUMPTO'      Name
 '('           Punctuation
 'b'           Name
 'b_handler'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* unwind stack */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* End the loop if we still have an error (or return) */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_NOT'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'READ_TIMESTAMP' Name
 '('           Punctuation
 'loop1'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* main loop */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_YIELD'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Pop remaining stack entries. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'EMPTY'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'POP'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'v'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RETURN'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fast_yield'  Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'use_tracing' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_tracefunc' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_RETURN'  Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_YIELD'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call_trace'  Name
 '('           Punctuation
 '>'           Operator
 'c_tracefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t       ' Text
+'\t\t\t\t\t       ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_traceobj'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t       ' Text
+'\t\t\t\t\t       ' Text.Whitespace
 'PyTrace_RETURN' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'retval'      Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'retval'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'call_trace_protected' Name
 '('           Punctuation
 'tstate'      Name
 '>'           Operator
 'c_tracefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t     ' Text
+'\t\t\t\t\t\t     ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_traceobj'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t     ' Text
+'\t\t\t\t\t\t     ' Text.Whitespace
 'PyTrace_RETURN' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_profilefunc' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'call_trace_protected' Name
 '('           Punctuation
 'tstate'      Name
 '>'           Operator
 'c_profilefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t     ' Text
+'\t\t\t\t\t\t     ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_profileobj' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t     ' Text
+'\t\t\t\t\t\t     ' Text.Whitespace
 'PyTrace_RETURN' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call_trace'  Name
 '('           Punctuation
 '>'           Operator
 'c_profilefunc' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'c_profileobj' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t    ' Text
+'\t\t\t\t\t    ' Text.Whitespace
 'PyTrace_RETURN' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'retval'      Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'Py_XDECREF'  Name
 '('           Punctuation
 'retval'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'why'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'WHY_EXCEPTION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '-'           Operator
 '>'           Operator
 'f_exc_type'  Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'reset_exc_info' Name
 '('           Punctuation
 'tstate'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'f_exc_value' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'assert'      Name
 '('           Punctuation
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'f_exc_traceback' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* pop frame */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'exit_eval_frame' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Py_LeaveRecursiveCall' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'tstate'      Name
 '-'           Operator
 '>'           Operator
 'frame'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '-'           Operator
 '>'           Operator
 'f_back'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'retval'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index de43c8ba4ca2791dde67f0a9ec286af1e45286c3..9871093df6f6dd645f6ece67d2b63dcdba81a6e6 100644 (file)
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<string.h>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<stdlib.h>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<stdio.h>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"codegen.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"symboltable.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"stringbuffer.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extern'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'yyerror'     Name.Function
 '('           Punctuation
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBuffer' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'staticVariableBuffer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBuffer' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'classInitBuffer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBuffer' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'currentMethodBuffer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBuffer' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'finishedMethodsBuffer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBuffer' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'mainBuffer'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'currentMethodBufferIndex' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'currentMethodStackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'currentMethodStackSizeMax' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'currentMethodNumberOfLocals' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'classInitBufferIndex' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'classInitStackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'classInitStackSizeMax' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'labelCounter' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'global'      Name
-'       '     Text
+'       '     Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'MAX_LENGTH_OF_COMMAND' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extern'      Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'className'   Name
 ';'           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 '/* from minako-syntax.y */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* forward declarations */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'increaseStackby' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'stackdiff'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'convertType' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenInit' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'staticVariableBuffer' Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newStringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'classInitBuffer' Name
-'       '     Text
+'       '     Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newStringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'currentMethodBuffer' Name
-'   '         Text
+'   '         Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'finishedMethodsBuffer' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newStringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'mainBuffer'  Name
-'            ' Text
+'            ' Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newStringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; ------- Header --------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' \n\t'       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.class  public synchronized %s' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'className'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.super  java/lang/Object' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; -----------------------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\n\t'      Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; ------- Constructor ---------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.method public <init>()V' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '.limit stack 1' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '.limit locals 1' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 'aload_0'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 'invokenonvirtual java/lang/Object/<init>()V' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 'return'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.end method' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; -----------------------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'staticVariableBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; ------- Class Variables -----------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; ------- Class Initializer ---------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.method static <clinit>()V' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'classInitBufferIndex' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'classInitBuffer' Name
 '-'           Operator
 '>'           Operator
 'numberOfNextElement' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '.limit locals 0' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenAppendCommand' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'stackdiff'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'MAX_LENGTH_OF_COMMAND' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '%s'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'global'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'increaseStackby' Name
 '('           Punctuation
 'stackdiff'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenInsertCommand' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'address'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'stackdiff'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'MAX_LENGTH_OF_COMMAND' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '%s'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'global'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'stringBufferInsert' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'address'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBufferInsert' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'address'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'increaseStackby' Name
 '('           Punctuation
 'stackdiff'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenAppendLabel' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'label'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'MAX_LENGTH_OF_COMMAND' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Label%d:'    Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'label'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'global'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenAddVariable' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/*fprintf(stderr, "add variable %s(%d) global=%d ", name, convertType(type), global);*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'global'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TYPE_INT'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.field static %s %c' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'I'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TYPE_FLOAT'  Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.field static %s %c' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'F'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TYPE_BOOLEAN' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.field static %s %c' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'Z'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'yyerror'     Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'staticVariableBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'currentMethodNumberOfLocals' Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenGetNextLabel' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'labelCounter' Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenGetCurrentAddress' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'global'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'classInitBuffer' Name
 '-'           Operator
 '>'           Operator
 'numberOfNextElement' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'currentMethodBuffer' Name
 '-'           Operator
 '>'           Operator
 'numberOfNextElement' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenEnterFunction' Name.Function
 '('           Punctuation
 'symtabEntry' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'entry'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'currentMethodBuffer' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newStringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'currentMethodStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'currentMethodStackSizeMax' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'labelCounter' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'global'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\n\t'      Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'strcmp'      Name
 '('           Punctuation
 '>'           Operator
 'name'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'main'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'entry'       Name
 '-'           Operator
 '>'           Operator
 'idtype'      Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TYPE_VOID'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'yyerror'     Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'currentMethodNumberOfLocals' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'symtabInsert' Name
 '('           Punctuation
 'strdup'      Name
 '"'           Literal.String
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE_VOID'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CLASS_FUNC'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; ------- Methode ---- void main() --------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.method public static main([Ljava/lang/String;)V' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'currentMethodNumberOfLocals' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'entry'       Name
 '-'           Operator
 '>'           Operator
 'paramIndex'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; ------- Methode -------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.method public static %s(' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'entry'       Name
 '-'           Operator
 '>'           Operator
 'name'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 'paramIndex'  Name
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '>'           Operator
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'entry'       Name
 '-'           Operator
 '>'           Operator
 '>'           Operator
 'idtype'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'strlen'      Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'strlen'      Name
 'tempString'  Name
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'convertType' Name
 '('           Punctuation
 'type'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'strlen'      Name
 '+'           Operator
 '2'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'strlen'      Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'convertType' Name
 '('           Punctuation
 'entry'       Name
 'idtype'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'strlen'      Name
 'tempString'  Name
 ')'           Punctuation
 ']'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ')'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'currentMethodBufferIndex' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'currentMethodBuffer' Name
 '-'           Operator
 '>'           Operator
 'numberOfNextElement' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenLeaveFunction' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'global'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '.limit locals %d' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'currentMethodNumberOfLocals' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferInsert' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'currentMethodBufferIndex' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '.limit stack %d' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'currentMethodStackSizeMax' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferInsert' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'currentMethodBufferIndex' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 'return'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.end method' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; -----------------------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'currentMethodBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferConcatenate' Name
 '('           Punctuation
 'finishedMethodsBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'currentMethodBuffer' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'codegenFinishCode' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'staticVariableBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; -----------------------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'staticVariableBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '.limit stack %d' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'classInitStackSizeMax' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferInsert' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'classInitBufferIndex' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 'return'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.end method' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferAppend' Name
 '('           Punctuation
 'classInitBuffer' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '; -----------------------------------------------------------' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\n\t'      Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 'stringBufferConcatenate' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'staticVariableBuffer' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferConcatenate' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'finishedMethodsBuffer' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferConcatenate' Name
 '('           Punctuation
 'mainBuffer'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'classInitBuffer' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'stringBufferPrint' Name
 '('           Punctuation
 'mainBuffer'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'increaseStackby' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'stackdiff'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'global'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'classInitStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stackdiff'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'classInitStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'classInitStackSizeMax' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'classInitStackSizeMax' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'classInitStackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'currentMethodStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stackdiff'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'currentMethodStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'currentMethodStackSizeMax' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'currentMethodStackSizeMax' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'currentMethodStackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'convertType' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'TYPE_VOID'   Name.Label
 ':'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'V'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'TYPE_INT'    Name.Label
 ':'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'I'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'TYPE_FLOAT'  Name.Label
 ':'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'F'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'TYPE_BOOLEAN' Name.Label
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'Z'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'default'     Keyword
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'yyerror'     Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* to avoid compiler-warning */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//#include <stdlib.h>\n' Comment.Single
 
 '//#include <stdio.h>\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '12'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '%d'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0X0'         Literal.Number.Hex
 ')'           Punctuation
 ';'           Punctuation
 '\\\n'        Text
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/**********************************************************************\n\n  array.c -\n\n  $Author: murphy $\n  $Date: 2005-11-05 04:33:55 +0100 (Sa, 05 Nov 2005) $\n  created at: Fri Aug  6 09:46:12 JST 1993\n\n  Copyright (C) 1993-2003 Yukihiro Matsumoto\n  Copyright (C) 2000  Network Applied Communication Laboratory, Inc.\n  Copyright (C) 2000  Information-technology Promotion Agency, Japan\n\n**********************************************************************/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"ruby.h"'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"util.h"'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"st.h"'      Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"node.h"'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'rb_cArray'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_cValues'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ID'          Name
-' '           Text
+' '           Text.Whitespace
 'id_cmp'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define ARY_DEFAULT_SIZE 16' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_mem_clear' Name.Function
 '('           Punctuation
 'mem'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'mem'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '*'           Operator
 'mem'         Name
 '+'           Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'memfill'     Name
 '('           Punctuation
 'mem'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'mem'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '*'           Operator
 'mem'         Name
 '+'           Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define ARY_TMPLOCK  FL_USER1' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_modify_check' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'OBJ_FROZEN'  Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_error_frozen' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FL_TEST'     Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ARY_TMPLOCK' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eRuntimeError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "can't modify array during iteration" Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'OBJ_TAINTED' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_safe_level' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eSecurityError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "Insecure: can't modify array" Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify_check' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FL_TEST'     Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ALLOC_N'     Name
 '('           Punctuation
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'FL_UNSET'    Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_freeze' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_obj_freeze' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.frozen?  -> true or false\n *\n *  Return <code>true</code> if this array is frozen (or temporarily frozen\n *  while being sorted).\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_frozen_p' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'OBJ_FROZEN'  Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qtrue'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FL_TEST'     Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ARY_TMPLOCK' Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qtrue'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qfalse'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary_alloc'   Name
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_alloc'   Name.Function
 '('           Punctuation
 'klass'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'NEWOBJ'      Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'RArray'      Name.Class
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'OBJSETUP'    Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_new'     Name
 '('           Punctuation
 'klass'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'negative array size (or size too big)' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'array size too big' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'ary'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_alloc'   Name
 '('           Punctuation
 'klass'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ALLOC_N'     Name
 '('           Punctuation
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_new2' Name
 '('           Punctuation
 'len'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary_new'     Name
 '('           Punctuation
 'rb_cArray'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_new'  Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'ARY_DEFAULT_SIZE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef HAVE_STDARG_PROTOTYPES' Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<stdarg.h>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<varargs.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef HAVE_STDARG_PROTOTYPES' Comment.Preproc
 'rb_ary_new3' Name
 '('           Punctuation
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 '('           Punctuation
 'n'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'va_alist'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_dcl'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_list'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ar'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_init_list' Name
 '('           Punctuation
 'ar'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'n'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'va_arg'      Name
 '('           Punctuation
 'ar'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_end'      Name
 '('           Punctuation
 'ar'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_new4' Name
 '('           Punctuation
 'n'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'elts'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'elts'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'elts'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'elts'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef HAVE_STDARG_PROTOTYPES' Comment.Preproc
 'rb_values_new' Name
 '('           Punctuation
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 '('           Punctuation
 'n'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'va_alist'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_dcl'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_list'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ar'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_new'     Name
 '('           Punctuation
 'rb_cValues'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_init_list' Name
 '('           Punctuation
 'ar'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'n'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'val'         Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'va_arg'      Name
 '('           Punctuation
 'ar'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'va_end'      Name
 '('           Punctuation
 'ar'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'val'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_values_new2' Name
 '('           Punctuation
 'n'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'elts'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'elts'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_new'     Name
 '('           Punctuation
 'rb_cValues'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'elts'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'val'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'elts'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_make_shared' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'FL_TEST'     Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'NEWOBJ'      Name
 '('           Punctuation
 'shared'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'RArray'      Name.Class
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'OBJSETUP'    Name
 '('           Punctuation
 'shared'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_cArray'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'shared'      Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'shared'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'shared'      Name
 '-'           Operator
 '>'           Operator
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'capa'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'shared'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
 'shared'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'FL_SET'      Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'OBJ_FREEZE'  Name
 '('           Punctuation
 'shared'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
 'shared'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'shared'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_shared_array' Name
 '('           Punctuation
 'klass'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_alloc'   Name
 '('           Punctuation
 'klass'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary_make_shared' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'val'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'val'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'val'         Name
 'aux'         Name
 '.'           Punctuation
 'shared'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'shared'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'FL_SET'      Name
 '('           Punctuation
 'val'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_values_from_ary' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary_shared_array' Name
 '('           Punctuation
 'rb_cValues'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_from_values' Name
 '('           Punctuation
 'val'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary_shared_array' Name
 '('           Punctuation
 'rb_cArray'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_assoc_new' Name
 '('           Punctuation
 'car'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cdr'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'car'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cdr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_values_new' Name
 '('           Punctuation
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'car'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cdr'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'to_ary'      Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_convert_type' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Array'       Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'to_ary'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'to_a'        Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_convert_type' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Array'       Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'to_a'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_check_array_type' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_check_convert_type' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Array'       Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'to_ary'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'rb_ary_replace' Name
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 '('           Punctuation
 '('           Punctuation
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     Array.new(size=0, obj=nil)\n *     Array.new(array)\n *     Array.new(size) {|index| block }\n *\n *  Returns a new array. In the first form, the new array is\n *  empty. In the second it is created with _size_ copies of _obj_\n *  (that is, _size_ references to the same\n *  _obj_). The third form creates a copy of the array\n *  passed as a parameter (the array is generated by calling\n *  to_ary  on the parameter). In the last form, an array\n *  of the given size is created. Each element in this array is\n *  calculated by passing the element\'s index to the given block and\n *  storing the return value.\n *\n *     Array.new\n *     Array.new(2)\n *     Array.new(5, "A")\n * \n *     # only one copy of the object is created\n *     a = Array.new(2, Hash.new)\n *     a[0][\'cat\'] = \'feline\'\n *     a\n *     a[1][\'cat\'] = \'Felix\'\n *     a\n * \n *     # here multiple copies are created\n *     a = Array.new(2) { Hash.new }\n *     a[0][\'cat\'] = \'feline\'\n *     a\n * \n *     squares = Array.new(5) {|i| i*i}\n *     squares\n * \n *     copy = Array.new(squares)\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_initialize' Name.Function
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '02'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'size'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'val'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_block_given_p' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_warning'  Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'FIXNUM_P'    Name
 '('           Punctuation
 'size'        Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_check_array_type' Name
 '('           Punctuation
 'size'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'NIL_P'       Name
 'val'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_ary_replace' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'size'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'negative array size' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'long'        Keyword.Type
 ')'           Punctuation
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'array size too big' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'capa'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'REALLOC_N'   Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_block_given_p' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_warn'     Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_ary_store' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'LONG2NUM'    Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'memfill'     Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/* \n* Returns a new array populated with the given objects. \n*\n*   Array.[]( 1, 'a', /^A/ )\n*   Array[ 1, 'a', /^A/ ]\n*   [ 1, 'a', /^A/ ]\n*/" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_s_create' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_alloc'   Name
 '('           Punctuation
 'klass'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ALLOC_N'     Name
 '('           Punctuation
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_store' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eIndexError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'index %ld out of array' Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'capa'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'new_capa'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new_capa'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ARY_DEFAULT_SIZE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'new_capa'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ARY_DEFAULT_SIZE' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'new_capa'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new_capa'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'long'        Keyword.Type
 ')'           Punctuation
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new_capa'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'index too big' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'REALLOC_N'   Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new_capa'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new_capa'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_mem_clear' Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t     '   Text
+'\t\t     '   Text.Whitespace
 'idx'         Name
 '-'           Operator
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '['           Punctuation
 'idx'         Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_shared_first' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'nv'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '1'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'nv'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'nv'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'negative array size' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_shared_array' Name
 '('           Punctuation
 'rb_cArray'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'result'      Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_shared_last' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_shared_first' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'result'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'result'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array << obj            -> array\n *  \n *  Append---Pushes the given object on to the end of this array. This\n *  expression returns the array itself, so several appends\n *  may be chained together.\n *\n *     [ 1, 2 ] << "c" << "d" << [ 3, 4 ]\n *             #=>  [ 1, 2, "c", "d", [ 3, 4 ] ]\n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_push' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'item'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'item'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_store' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'item'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* \n *  call-seq:\n *     array.push(obj, ... )   -> array\n *  \n *  Append---Pushes the given object(s) on to the end of this array. This\n *  expression returns the array itself, so several appends\n *  may be chained together.\n *\n *     a = [ "a", "b", "c" ]\n *     a.push("d", "e", "f")  \n *             #=> ["a", "b", "c", "d", "e", "f"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_push_m' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_push' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_pop'  Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify_check' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'FL_TEST'     Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ARY_DEFAULT_SIZE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'REALLOC_N'   Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'capa'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.pop  -> obj or nil\n *  \n *  Removes the last element from <i>self</i> and returns it, or\n *  <code>nil</code> if the array is empty.\n *     \n *     a = [ "a", "b", "c", "d" ]\n *     a.pop     #=> "d"\n *     a.pop(2)  #=> ["b", "c"]\n *     a         #=> ["a"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_pop_m' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_pop'  Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify_check' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_shared_last' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'result'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_shift' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'top'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify_check' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'top'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary_make_shared' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* shift ptr */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'top'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.shift   ->   obj or nil\n *  \n *  Returns the first element of <i>self</i> and removes it (shifting all\n *  other elements down by one). Returns <code>nil</code> if the array\n *  is empty.\n *     \n *     args = [ "-m", "-q", "filename" ]\n *     args.shift     #=> "-m"\n *     args           #=> ["-q", "filename"]\n *\n *     args = [ "-m", "-q", "filename" ]\n *     args.shift(2)  #=> ["-m", "-q"]\n *     args           #=> ["filename"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_shift_m' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_shift' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify_check' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_shared_first' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'result'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_unshift' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'item'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'item'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'capa'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'capa_inc'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'capa_inc'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ARY_DEFAULT_SIZE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'capa_inc'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ARY_DEFAULT_SIZE' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'capa_inc'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'REALLOC_N'   Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'capa'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* sliding items */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'MEMMOVE'     Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'item'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.unshift(obj, ...)  -> array\n *  \n *  Prepends objects to the front of <i>array</i>.\n *  other elements up one.\n *     \n *     a = [ "b", "c", "d" ]\n *     a.unshift("a")   #=> ["a", "b", "c", "d"]\n *     a.unshift(1, 2)  #=> [ 1, 2, "a", "b", "c", "d"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_unshift_m' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* make rooms by setting the last item */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_store' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* sliding items */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'MEMMOVE'     Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/* faster version - use this if you don't need to treat negative offset */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_elt'  Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'offset'      Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_entry' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_elt'  Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_subseq' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'klass'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary2'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'shared'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'klass'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_obj_class' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary_new'     Name
 '('           Punctuation
 'klass'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_make_shared' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary2'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary_alloc'   Name
 '('           Punctuation
 'klass'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary2'        Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary2'        Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary2'        Name
 'aux'         Name
 '.'           Punctuation
 'shared'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'shared'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'FL_SET'      Name
 '('           Punctuation
 'ary2'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ELTS_SHARED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary2'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* \n *  call-seq:\n *     array[index]                -> obj      or nil\n *     array[start, length]        -> an_array or nil\n *     array[range]                -> an_array or nil\n *     array.slice(index)          -> obj      or nil\n *     array.slice(start, length)  -> an_array or nil\n *     array.slice(range)          -> an_array or nil\n *\n *  Element Reference---Returns the element at _index_,\n *  or returns a subarray starting at _start_ and\n *  continuing for _length_ elements, or returns a subarray\n *  specified by _range_.\n *  Negative indices count backward from the end of the\n *  array (-1 is the last element). Returns nil if the index\n *  (or starting index) are out of range.\n *\n *     a = [ "a", "b", "c", "d", "e" ]\n *     a[2] +  a[0] + a[1]    #=> "cab"\n *     a[6]                   #=> nil\n *     a[1, 2]                #=> [ "b", "c" ]\n *     a[1..3]                #=> [ "b", "c", "d" ]\n *     a[4..7]                #=> [ "e" ]\n *     a[6..10]               #=> nil\n *     a[-3, 3]               #=> [ "c", "d", "e" ]\n *     # special cases\n *     a[5]                   #=> nil\n *     a[5, 1]                #=> []\n *     a[5..10]               #=> []\n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_aref' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_subseq' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '11'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* special case - speeding up */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FIXNUM_P'    Name
 '('           Punctuation
 'arg'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_entry' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'FIX2LONG'    Name
 '('           Punctuation
 'arg'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* check if idx is Range */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_range_beg_len' Name
 '('           Punctuation
 'arg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Qfalse'      Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'default'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_subseq' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_entry' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'arg'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* \n *  call-seq:\n *     array.at(index)   ->   obj  or nil\n *\n *  Returns the element at _index_. A\n *  negative index counts from the end of _self_.  Returns +nil+\n *  if the index is out of range. See also <code>Array#[]</code>.\n *  (<code>Array#at</code> is slightly faster than <code>Array#[]</code>,\n *  as it does not accept ranges and so on.)\n *\n *     a = [ "a", "b", "c", "d", "e" ]\n *     a.at(0)     #=> "a"\n *     a.at(-1)    #=> "e"\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_at'   Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_entry' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'pos'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.first     ->   obj or nil\n *     array.first(n)  ->   an_array\n *  \n *  Returns the first element of the array. If the array is empty,\n *  returns <code>nil</code>.\n *     \n *     a = [ "q", "r", "s", "t" ]\n *     a.first     #=> "q"\n *     a.first(2)  #=> ["q", "r"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_first' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary_shared_first' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.last     ->  obj or nil\n *     array.last(n)  ->  an_array\n *  \n *  Returns the last element(s) of <i>self</i>. If the array is empty,\n *  the first form returns <code>nil</code>.\n *     \n *     a = [ "w", "x", "y", "z" ]\n *     a.last     #=> "z"\n *     a.last(2)  #=> ["y", "z"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_last' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary_shared_last' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.fetch(index)                    -> obj\n *     array.fetch(index, default )          -> obj\n *     array.fetch(index) {|index| block }   -> obj\n *  \n *  Tries to return the element at position <i>index</i>. If the index\n *  lies outside the array, the first form throws an\n *  <code>IndexError</code> exception, the second form returns\n *  <i>default</i>, and the third form returns the value of invoking\n *  the block, passing in the index. Negative values of <i>index</i>\n *  count from the end of the array.\n *     \n *     a = [ 11, 22, 33, 44 ]\n *     a.fetch(1)               #=> 22\n *     a.fetch(-1)              #=> 44\n *     a.fetch(4, \'cat\')        #=> "cat"\n *     a.fetch(4) { |i| i*i }   #=> 16\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_fetch' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ifnone'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'block_given' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '11'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'pos'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'ifnone'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'block_given' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_block_given_p' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'block_given' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_warn'     Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'pos'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'idx'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'block_given' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'pos'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eIndexError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'index %ld out of array' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'idx'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ifnone'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'idx'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.index(obj)           ->  int or nil\n *     array.index {|item| block} ->  int or nil\n *  \n *  Returns the index of the first object in <i>self</i> such that is\n *  <code>==</code> to <i>obj</i>. If a block is given instead of an\n *  argument, returns first object for which <em>block</em> is true.\n *  Returns <code>nil</code> if no match is found.\n *     \n *     a = [ "a", "b", "c" ]\n *     a.index("b")        #=> 1\n *     a.index("z")        #=> nil\n *     a.index{|x|x=="b"}  #=> 1\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_index' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '01'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'val'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RTEST'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'LONG2NUM'    Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_equal'    Name
 '('           Punctuation
 'i'           Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'LONG2NUM'    Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.rindex(obj)    ->  int or nil\n *  \n *  Returns the index of the last object in <i>array</i>\n *  <code>==</code> to <i>obj</i>. If a block is given instead of an\n *  argument, returns first object for which <em>block</em> is\n *  true. Returns <code>nil</code> if no match is found.\n *     \n *     a = [ "a", "b", "b", "b", "c" ]\n *     a.rindex("b")        #=> 3\n *     a.rindex("z")        #=> nil\n *     a.rindex{|x|x=="b"}  #=> 3\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_rindex' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '01'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'val'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RTEST'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'LONG2NUM'    Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_equal'    Name
 '('           Punctuation
 'i'           Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'LONG2NUM'    Name
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_to_ary' Name
 '('           Punctuation
 'obj'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TYPE'        Name
 '('           Punctuation
 'obj'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_respond_to' Name
 '('           Punctuation
 'obj'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_intern'   Name
 '('           Punctuation
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'to_ary'      Name
 '('           Punctuation
 'obj'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new3' Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_splice' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rpl'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'rpl'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eIndexError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'negative length (%ld)' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eIndexError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'index %ld out of array' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rpl'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Qundef'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rlen'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rpl'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_to_ary' Name
 '('           Punctuation
 'rpl'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rlen'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'rpl'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'capa'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'REALLOC_N'   Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_mem_clear' Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rlen'        Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'rpl'         Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'alen'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'alen'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alen'        Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '.'           Punctuation
 'capa'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'REALLOC_N'   Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'alen'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'aux'         Name
 '.'           Punctuation
 'capa'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'alen'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'MEMMOVE'     Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t    '    Text
+'\t\t    '    Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'alen'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rlen'        Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'MEMMOVE'     Name
 '('           Punctuation
 'RARRAY'      Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'rpl'         Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rlen'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* \n *  call-seq:\n *     array[index]         = obj                     ->  obj\n *     array[start, length] = obj or an_array or nil  ->  obj or an_array or nil\n *     array[range]         = obj or an_array or nil  ->  obj or an_array or nil\n *\n *  Element Assignment---Sets the element at _index_,\n *  or replaces a subarray starting at _start_ and\n *  continuing for _length_ elements, or replaces a subarray\n *  specified by _range_.  If indices are greater than\n *  the current capacity of the array, the array grows\n *  automatically. A negative indices will count backward\n *  from the end of the array. Inserts elements if _length_ is\n *  zero. An +IndexError+ is raised if a negative index points\n *  past the beginning of the array. See also\n *  <code>Array#push</code>, and <code>Array#unshift</code>.\n * \n *     a = Array.new\n *     a[4] = "4";                 #=> [nil, nil, nil, nil, "4"]\n *     a[0, 3] = [ \'a\', \'b\', \'c\' ] #=> ["a", "b", "c", nil, "4"]\n *     a[1..2] = [ 1, 2 ]          #=> ["a", 1, 2, nil, "4"]\n *     a[0, 2] = "?"               #=> ["?", 2, nil, "4"]\n *     a[0..2] = "A"               #=> ["A", "4"]\n *     a[-1]   = "Z"               #=> ["A", "Z"]\n *     a[1..-1] = nil              #=> ["A", nil]\n *     a[1..-1] = []              #=> ["A"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_aset' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_splice' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '2'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '2'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'wrong number of arguments (%d for 2)' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FIXNUM_P'    Name
 '('           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FIX2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fixnum'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_range_beg_len' Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* check if idx is Range */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_splice' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixnum'      Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_store' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.insert(index, obj...)  -> array\n *  \n *  Inserts the given values before the element with the given index\n *  (which may be negative).\n *     \n *     a = %w{ a b c d }\n *     a.insert(2, 99)         #=> ["a", "b", 99, "c", "d"]\n *     a.insert(-2, 1, 2, 3)   #=> ["a", "b", 99, "c", 1, 2, 3, "d"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_insert' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eArgError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'wrong number of arguments (at least 1)' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'pos'         Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_splice' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new4' Name
 '('           Punctuation
 'argc'        Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.each {|item| block }   ->   array\n *  \n *  Calls <i>block</i> once for each element in <i>self</i>, passing that\n *  element as a parameter.\n *     \n *     a = [ "a", "b", "c" ]\n *     a.each {|x| print x, " -- " }\n *     \n *  produces:\n *     \n *     a -- b -- c --\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_each' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'RARRAY'      Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.each_index {|index| block }  ->  array\n *  \n *  Same as <code>Array#each</code>, but passes the index of the element\n *  instead of the element itself.\n *     \n *     a = [ "a", "b", "c" ]\n *     a.each_index {|x| print x, " -- " }\n *     \n *  produces:\n *     \n *     0 -- 1 -- 2 --\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_each_index' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'LONG2NUM'    Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.reverse_each {|item| block } \n *  \n *  Same as <code>Array#each</code>, but traverses <i>self</i> in reverse\n *  order.\n *     \n *     a = [ "a", "b", "c" ]\n *     a.reverse_each {|x| print x, " " }\n *     \n *  produces:\n *     \n *     c b a\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_reverse_each' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'RARRAY'      Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.length -> int\n *  \n *  Returns the number of elements in <i>self</i>. May be zero.\n *     \n *     [ 1, 2, 3, 4, 5 ].length   #=> 5\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_length' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'LONG2NUM'    Name
 '('           Punctuation
 'RARRAY'      Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.empty?   -> true or false\n *  \n *  Returns <code>true</code> if <i>self</i> array contains no elements.\n *     \n *     [].empty?   #=> true\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_empty_p' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qtrue'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Qfalse'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_dup'  Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'dup'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'RARRAY'      Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DUPSETUP'    Name
 '('           Punctuation
 'dup'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'MEMCPY'      Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'dup'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'dup'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extern'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'rb_output_fs' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'recursive_join' Name.Function
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recur'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'recur'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recur'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_str_new2' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_join' Name
 '('           Punctuation
 'arg'         Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_join' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'taint'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Qfalse'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_str_new'  Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'OBJ_TAINTED' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'OBJ_TAINTED' Name
 '('           Punctuation
 'sep'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'taint'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Qtrue'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_check_string_type' Name
 '('           Punctuation
 'RARRAY'      Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NIL_P'       Name
 '('           Punctuation
 'tmp'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'RSTRING'     Name
 '('           Punctuation
 'tmp'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'NIL_P'       Name
 'sep'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'StringValue' Name
 '('           Punctuation
 'sep'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RSTRING'     Name
 '('           Punctuation
 'sep'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_str_buf_new' Name
 '('           Punctuation
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TYPE'        Name
 '('           Punctuation
 'tmp'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'T_STRING'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'T_ARRAY'     Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'args'        Name
 '['           Punctuation
 '2'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'args'        Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'args'        Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_exec_recursive' Name
 '('           Punctuation
 'recursive_join' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
 'args'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'default'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_obj_as_string' Name
 '('           Punctuation
 'tmp'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'NIL_P'       Name
 '('           Punctuation
 'sep'         Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_str_buf_append' Name
 '('           Punctuation
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_str_buf_append' Name
 '('           Punctuation
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'OBJ_TAINTED' Name
 '('           Punctuation
 'tmp'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'taint'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Qtrue'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'taint'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'OBJ_TAINT'   Name
 '('           Punctuation
 'result'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.join(sep=$,)    -> str\n *  \n *  Returns a string created by converting each element of the array to\n *  a string, separated by <i>sep</i>.\n *     \n *     [ "a", "b", "c" ].join        #=> "abc"\n *     [ "a", "b", "c" ].join("-")   #=> "a-b-c"\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_join_m' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_scan_args' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '01'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'sep'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'NIL_P'       Name
 '('           Punctuation
 'sep'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_output_fs' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_join' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sep'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.to_s -> string\n *  \n *  Returns _self_<code>.join</code>.\n *     \n *     [ "a", "e", "i", "o" ].to_s   #=> "aeio"\n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_to_s' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_str_new'  Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_join' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_output_fs' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inspect_ary' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'dummy'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recur'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'dummy'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'recur'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tainted'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'OBJ_TAINTED' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recur'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_tainted_str_new2' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'str'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_str_buf_new2' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_inspect'  Name
 '('           Punctuation
 'RARRAY'      Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'OBJ_TAINTED' Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tainted'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Qtrue'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_str_buf_cat2' Name
 '('           Punctuation
 'str'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_str_buf_append' Name
 '('           Punctuation
 'str'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_str_buf_cat2' Name
 '('           Punctuation
 'str'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ']'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tainted'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'OBJ_TAINT'   Name
 '('           Punctuation
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.inspect  -> string\n *\n *  Create a printable version of <i>array</i>.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_inspect' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_str_new2' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_exec_recursive' Name
 '('           Punctuation
 'inspect_ary' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.to_a     -> array\n *  \n *  Returns _self_. If called on a subclass of Array, converts\n *  the receiver to an Array object.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_to_a' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_obj_class' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_cArray'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'dup'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'RARRAY'      Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_replace' Name
 '('           Punctuation
 'dup'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'dup'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.to_ary -> array\n *  \n *  Returns _self_.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_to_ary_m' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_reverse' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'p1'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'p2'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'p1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'p2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'p1'          Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* points last item */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'p1'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'p2'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'p1'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '*'           Operator
 'p1'          Name
 '+'           Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'p2'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '*'           Operator
 'p2'          Name
 '-'           Operator
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.reverse!   -> array \n *  \n *  Reverses _self_ in place.\n *     \n *     a = [ "a", "b", "c" ]\n *     a.reverse!       #=> ["c", "b", "a"]\n *     a                #=> ["c", "b", "a"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_reverse_bang' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_reverse' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.reverse -> an_array\n *  \n *  Returns a new array containing <i>self</i>\'s elements in reverse order.\n *     \n *     [ "a", "b", "c" ].reverse   #=> ["c", "b", "a"]\n *     [ 1 ].reverse               #=> [1]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_reverse_m' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_reverse' Name
 '('           Punctuation
 'rb_ary_dup'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'struct'      Keyword
 ' '           Text
 'ary_sort_data' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ary_sort_check' Name.Function
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ary_sort_data' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '-'           Operator
 '>'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'data'        Name
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '-'           Operator
 '>'           Operator
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_raise'    Name
 '('           Punctuation
 'rb_eRuntimeError' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'array modified during sort' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sort_1'      Name
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'b'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ary_sort_data' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_yield_values' Name
 '('           Punctuation
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'b'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_cmpint'   Name
 '('           Punctuation
 'retval'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'b'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary_sort_check' Name
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sort_2'      Name
 '('           Punctuation
 'ap'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bp'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ap'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'bp'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ary_sort_data' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'retval'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ap'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'bp'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FIXNUM_P'    Name
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'FIXNUM_P'    Name
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'long'        Keyword.Type
 ')'           Punctuation
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'long'        Keyword.Type
 ')'           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'long'        Keyword.Type
 ')'           Punctuation
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'long'        Keyword.Type
 ')'           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TYPE'        Name
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_STRING'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_STRING'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_str_cmp'  Name
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'retval'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_funcall'  Name
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id_cmp'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_cmpint'   Name
 '('           Punctuation
 'retval'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary_sort_check' Name
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sort_internal' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ary_sort_data' Name.Class
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'data'        Name
 '.'           Punctuation
 'ary'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'data'        Name
 '.'           Punctuation
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'ptr'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '.'           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'qsort'       Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'VALUE'       Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'rb_block_given_p' Name
 '('           Punctuation
 ')'           Punctuation
 ':'           Punctuation
 'sort_2'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sort_unlock' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'FL_UNSET'    Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ARY_TMPLOCK' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.sort!                   -> array\n *     array.sort! {| a,b | block }  -> array \n *  \n *  Sorts _self_. Comparisons for\n *  the sort will be done using the <code><=></code> operator or using\n *  an optional code block. The block implements a comparison between\n *  <i>a</i> and <i>b</i>, returning -1, 0, or +1. See also\n *  <code>Enumerable#sort_by</code>.\n *     \n *     a = [ "d", "a", "e", "c", "b" ]\n *     a.sort                    #=> ["a", "b", "c", "d", "e"]\n *     a.sort {|x,y| y <=> x }   #=> ["e", "d", "c", "b", "a"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_sort_bang' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RARRAY'      Name
 '('           Punctuation
 '-'           Operator
 '>'           Operator
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'FL_SET'      Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ARY_TMPLOCK' Name
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '/* prohibit modification during sort */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ensure'   Name
 '('           Punctuation
 'sort_internal' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sort_unlock' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.sort                   -> an_array \n *     array.sort {| a,b | block }  -> an_array \n *  \n *  Returns a new array created by sorting <i>self</i>. Comparisons for\n *  the sort will be done using the <code><=></code> operator or using\n *  an optional code block. The block implements a comparison between\n *  <i>a</i> and <i>b</i>, returning -1, 0, or +1. See also\n *  <code>Enumerable#sort_by</code>.\n *     \n *     a = [ "d", "a", "e", "c", "b" ]\n *     a.sort                    #=> ["a", "b", "c", "d", "e"]\n *     a.sort {|x,y| y <=> x }   #=> ["e", "d", "c", "b", "a"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_sort' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ary'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_dup'  Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_sort_bang' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.collect {|item| block }  -> an_array\n *     array.map     {|item| block }  -> an_array\n *  \n *  Invokes <i>block</i> once for each element of <i>self</i>. Creates a \n *  new array containing the values returned by the block.\n *  See also <code>Enumerable#collect</code>.\n *     \n *     a = [ "a", "b", "c", "d" ]\n *     a.collect {|x| x + "!" }   #=> ["a!", "b!", "c!", "d!"]\n *     a                          #=> ["a", "b", "c", "d"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_collect' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'collect'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'rb_block_given_p' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new4' Name
 '('           Punctuation
 'RARRAY'      Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 'ptr'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'collect'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'RARRAY'      Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_push' Name
 '('           Punctuation
 'collect'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'RARRAY'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'collect'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* \n *  call-seq:\n *     array.collect! {|item| block }   ->   array\n *     array.map!     {|item| block }   ->   array\n *\n *  Invokes the block once for each element of _self_, replacing the\n *  element with the value returned by _block_.\n *  See also <code>Enumerable#collect</code>.\n *   \n *     a = [ "a", "b", "c", "d" ]\n *     a.collect! {|x| x + "!" }\n *     a             #=>  [ "a!", "b!", "c!", "d!" ]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_collect_bang' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'rb_ary_modify' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_store' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_yield'    Name
 '('           Punctuation
 'RARRAY'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_get_values_at' Name
 '('           Punctuation
 'obj'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'olen'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'func'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'olen'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 '('           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'argc'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'argc'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'FIXNUM_P'    Name
 '('           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_ary_push' Name
 '('           Punctuation
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 '('           Punctuation
 'obj'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'FIX2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* check if idx is Range */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rb_range_beg_len' Name
 '('           Punctuation
 'i'           Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'beg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'olen'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Qfalse'      Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Qnil'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'default'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'j'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 '<'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'rb_ary_push' Name
 '('           Punctuation
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 '('           Punctuation
 'obj'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 '+'           Operator
 'beg'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rb_ary_push' Name
 '('           Punctuation
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'func'        Name
 '('           Punctuation
 'obj'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NUM2LONG'    Name
 '('           Punctuation
 'argv'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* \n *  call-seq:\n *     array.values_at(selector,... )  -> an_array\n *\n *  Returns an array containing the elements in\n *  _self_ corresponding to the given selector(s). The selectors\n *  may be either integer indices or ranges. \n *  See also <code>Array#select</code>.\n * \n *     a = %w{ a b c d e f }\n *     a.values_at(1, 3, 5)\n *     a.values_at(1, 3, 5, 7)\n *     a.values_at(-1, -3, -5, -7)\n *     a.values_at(1..3, 2...5)\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_values_at' Name
 '('           Punctuation
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rb_get_values_at' Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_ary_entry' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n *  call-seq:\n *     array.select {|item| block } -> an_array\n *  \n *  Invokes the block passing in successive elements from <i>array</i>,\n *  returning an array containing those elements for which the block\n *  returns a true value (equivalent to <code>Enumerable#select</code>).\n *     \n *     a = %w{ a b c d e f }\n *     a.select {|v| v =~ /[aeiou]/}   #=> ["a", "e"]\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'VALUE'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rb_ary_select' Name
 '('           Punctuation
 'ary'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'ary'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'VALUE'       Name
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rb_ary_new2' Name
 '('           Punctuation
 'RARRAY'      Name
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'RARRAY'      Name
 '('           Punctuation
 'ary'         Name
 '>'           Operator
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'RTEST'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'rb_ary_push' Name
 '('           Punctuation
 'result'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rb_ary_elt'  Name
 '('           Punctuation
 'ary'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 0304f46d4d2313e4b39656d3f2afac774b2d2997..06d48d916b7a3dedfcd2693510828b6b8b2a92e8 100644 (file)
@@ -1,84 +1,84 @@
 '/*\n * Some Number Test\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '24241424'    Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '342423423.24234' Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '25235235.'   Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f3'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.234234'     Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f4'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '234243e+34343' Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f5'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '24234e-234'  Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'o'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0234'        Literal.Number.Oct
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0x2342'      Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index f98cc411437a38dc633d4760d8e0ccbb9f0e8b84..91087df3e3c95b185f1752b91577b4cb99fecaf3 100644 (file)
 ' '           Text
 '='           Operator
 ' '           Text
-'-123'        Literal.Number.Int
+'-123'        Literal.Number.Integer
 '\n'          Text
 
 'max-float'   Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '..'          Operator
-'10'          Literal.Number.Int
+'10'          Literal.Number.Integer
 ' '           Text
 '; only integers match' Comment.Single
 '\n'          Text
 ' '           Text
 '='           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '..'          Operator
 'max-byte'    Name.Class
 ' '           Text
 ' '           Text
 '='           Operator
 ' '           Text
-'256'         Literal.Number.Int
+'256'         Literal.Number.Integer
 '\n'          Text
 
 'byte1'       Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '...'         Operator
 'first-non-byte' Name.Class
 ' '           Text
 ' '           Text
 '='           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '..'          Operator
 '10.0'        Literal.Number.Float
 ' '           Text
 ' '           Text
 '0.0'         Literal.Number.Float
 '..'          Operator
-'10'          Literal.Number.Int
+'10'          Literal.Number.Integer
 ' '           Text
 '; NOT DEFINED' Comment.Single
 '\n'          Text
 'black'       Literal.String
 ':'           Punctuation
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 'red'         Literal.String
 ':'           Punctuation
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'green'       Literal.String
 ':'           Punctuation
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'yellow'      Literal.String
 ':'           Punctuation
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'blue'        Literal.String
 ':'           Punctuation
 ' '           Text
-'4'           Literal.Number.Int
+'4'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'magenta'     Literal.String
 ':'           Punctuation
 ' '           Text
-'5'           Literal.Number.Int
+'5'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'cyan'        Literal.String
 ':'           Punctuation
 ' '           Text
-'6'           Literal.Number.Int
+'6'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'white'       Literal.String
 ':'           Punctuation
 ' '           Text
-'7'           Literal.Number.Int
+'7'           Literal.Number.Integer
 ','           Punctuation
 '\n'          Text
 
 'orange'      Literal.String
 ':'           Punctuation
 ' '           Text
-'8'           Literal.Number.Int
+'8'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'pink'        Literal.String
 ':'           Punctuation
 ' '           Text
-'9'           Literal.Number.Int
+'9'           Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'purple'      Literal.String
 ':'           Punctuation
 ' '           Text
-'10'          Literal.Number.Int
+'10'          Literal.Number.Integer
 ','           Punctuation
 '  '          Text
 'brown'       Literal.String
 ':'           Punctuation
 ' '           Text
-'11'          Literal.Number.Int
+'11'          Literal.Number.Integer
 ','           Punctuation
 '\n'          Text
 
 ' '           Text
 '='           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '\n'          Text
 
 'water'       Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 '\n'          Text
 
 'solid'       Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ' '           Text
 '/'           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '\n'          Text
 
 ';invalid-int = 01' Comment.Single
 ' '           Text
 '='           Operator
 ' '           Text
-'123'         Literal.Number.Int
+'123'         Literal.Number.Integer
 '\n\n'        Text
 
 'located-samples' Name.Class
 ' '           Text
 '.size'       Operator.Word
 ' '           Text
-'4'           Literal.Number.Int
+'4'           Literal.Number.Integer
 '\n'          Text
 
 'ip6'         Name.Class
 ' '           Text
 '.size'       Operator.Word
 ' '           Text
-'16'          Literal.Number.Int
+'16'          Literal.Number.Integer
 '\n'          Text
 
 'label'       Name.Class
 '.size'       Operator.Word
 ' '           Text
 '('           Punctuation
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 '..'          Operator
-'63'          Literal.Number.Int
+'63'          Literal.Number.Integer
 ')'           Punctuation
 '\n\n'        Text
 
 'false'       Name.Builtin
 ','           Punctuation
 '\n  '        Text
-'4711'        Literal.Number.Int
+'4711'        Literal.Number.Integer
 ':'           Punctuation
 ' '           Text
 'number'      Name.Builtin
 ' '           Text
 '.size'       Operator.Word
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 ' '           Text
 '; 24-bit, equivalent to 0...16777216' Comment.Single
 '\n\n'        Text
 'fin'         Literal.String
 ':'           Punctuation
 ' '           Text
-'8'           Literal.Number.Int
+'8'           Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'syn'         Literal.String
 ':'           Punctuation
 ' '           Text
-'9'           Literal.Number.Int
+'9'           Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'rst'         Literal.String
 ':'           Punctuation
 ' '           Text
-'10'          Literal.Number.Int
+'10'          Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'psh'         Literal.String
 ':'           Punctuation
 ' '           Text
-'11'          Literal.Number.Int
+'11'          Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'ack'         Literal.String
 ':'           Punctuation
 ' '           Text
-'12'          Literal.Number.Int
+'12'          Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'urg'         Literal.String
 ':'           Punctuation
 ' '           Text
-'13'          Literal.Number.Int
+'13'          Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'ece'         Literal.String
 ':'           Punctuation
 ' '           Text
-'14'          Literal.Number.Int
+'14'          Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'cwr'         Literal.String
 ':'           Punctuation
 ' '           Text
-'15'          Literal.Number.Int
+'15'          Literal.Number.Integer
 ','           Punctuation
 '\n  '        Text
 'ns'          Literal.String
 ':'           Punctuation
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 ','           Punctuation
 '\n'          Text
 
 '/'           Operator
 ' '           Text
 '('           Punctuation
-'4'           Literal.Number.Int
+'4'           Literal.Number.Integer
 '..'          Operator
-'7'           Literal.Number.Int
+'7'           Literal.Number.Integer
 ')'           Punctuation
 ' '           Text
 '; data offset bits' Comment.Single
 'r'           Literal.String
 ':'           Punctuation
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 'w'           Literal.String
 ':'           Punctuation
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 'x'           Literal.String
 ':'           Punctuation
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 ')'           Punctuation
 '\n\n'        Text
 
 ' '           Text
 '='           Operator
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '..'          Operator
-'255'         Literal.Number.Int
+'255'         Literal.Number.Integer
 '\n'          Text
 
 'message_option' Name.Class
 '='           Operator
 ' '           Text
 '['           Punctuation
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 'dough'       Literal.String
 '='           Operator
 ' '           Text
 '['           Punctuation
-'4'           Literal.Number.Int
+'4'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 'noodles'     Literal.String
 ' '           Text
 '.ge'         Operator.Word
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '  '          Text
 '; unit: m/s' Comment.Single
 '\n\n'        Text
 ' '           Text
 '.gt'         Operator.Word
 ' '           Text
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 ')'           Punctuation
 ' '           Text
 '.default'    Operator.Word
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 '\n'          Text
 
 '}'           Punctuation
 '"sleep"'     Literal.String.Double
 ','           Punctuation
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 '..'          Operator
-'100'         Literal.Number.Int
+'100'         Literal.Number.Integer
 '>'           Punctuation
 '\n'          Text
 
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ' '           Text
 'b'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ' '           Text
 'c'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 ' '           Text
 'd'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'4'           Literal.Number.Int
+'4'           Literal.Number.Integer
 '\n\n'        Text
 
 't'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ' '           Text
 'b'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ' '           Text
 'c'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 ' '           Text
 'd'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'4'           Literal.Number.Int
+'4'           Literal.Number.Integer
 '\n\n'        Text
 
 't'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ' '           Text
 'b'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ' '           Text
 'c'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 '\n\n'        Text
 
 't'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ' '           Text
 'b'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ' '           Text
 'c'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 '\n\n'        Text
 
 't'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 ' '           Text
 'b'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 ' '           Text
 'c'           Name.Class
 ' '           Text
 '='           Operator
 ' '           Text
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 '\n\n'        Text
 
 'byte-strings' Name.Class
 '='           Operator
 ' '           Text
 '#'           Keyword.Type
-'0'           Literal.Number.Int
+'0'           Literal.Number.Integer
 '\n'          Text
 
 'nint'        Name.Builtin
 '='           Operator
 ' '           Text
 '#'           Keyword.Type
-'1'           Literal.Number.Int
+'1'           Literal.Number.Integer
 '\n'          Text
 
 'int'         Name.Builtin
 '='           Operator
 ' '           Text
 '#'           Keyword.Type
-'2'           Literal.Number.Int
+'2'           Literal.Number.Integer
 '\n'          Text
 
 'bytes'       Name.Builtin
 '='           Operator
 ' '           Text
 '#'           Keyword.Type
-'3'           Literal.Number.Int
+'3'           Literal.Number.Integer
 '\n'          Text
 
 'text'        Name.Builtin
index 586cb86bfa230661d767170622f7003505242cfa..ca2b35fde3679801d967d3c0ef58f6d40bea27c4 100644 (file)
 'module'      Keyword
 ' '           Text
 'CkCallback'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'readonly'    Keyword
-' '           Text
+' '           Text.Whitespace
 'CProxy_ckcallback_group' Name
-' '           Text
+' '           Text.Whitespace
 '_ckcallbackgroup' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'message'     Keyword
-' '           Text
+' '           Text.Whitespace
 'CkCcsRequestMsg' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-' \t'         Text
+' \t'         Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'message'     Keyword
-' '           Text
+' '           Text.Whitespace
 'CkDataMsg'   Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\n\t'      Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 'mainchare'   Keyword
-' '           Text
+' '           Text.Whitespace
 'ckcallback_main' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'entry'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ckcallback_main' Name
 '('           Punctuation
 'CkArgMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'm'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'group'       Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'migratable'  Keyword
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ckcallback_group' Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'IrrGroup'    Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'entry'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ckcallback_group' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'entry'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'registerCcsCallback' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 '['           Punctuation
 'strlen'      Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'CkCallback'  Name
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'entry'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'call'        Name.Function
 '('           Punctuation
 'CkCallback'  Name
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ','           Punctuation
 'CkMarshalledMessage' Name
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'entry'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'call'        Name.Function
 '('           Punctuation
 'CkCallback'  Name
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 'length'      Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 9ea03d84109eeb9cca79995ae64d5080f66b923e..e06ae91100ffb9f9a9c92274d110254ce1abe71b 100644 (file)
@@ -5,20 +5,20 @@
 'StdGeneric'  Name.Class
 '\n\n'        Text.Whitespace
 
-'/*'          Comment.Multi
-'*'           Comment.Multi
-'\n '         Comment.Multi
-'*'           Comment.Multi
-' NOTE: this is a collection of different tricky parts of Clean modules (even\n ' Comment.Multi
-'*'           Comment.Multi
-' though the file is simply called StdGeneric.icl). The code is taken from:\n ' Comment.Multi
-'*'           Comment.Multi
-'\n '         Comment.Multi
-'*'           Comment.Multi
-' - StdGeneric (StdEnv)\n ' Comment.Multi
-'*'           Comment.Multi
-' - Graphics.Scalable.Image (Platform)\n ' Comment.Multi
-'*/'          Comment.Multi
+'/*'          Comment.Multiline
+'*'           Comment.Multiline
+'\n '         Comment.Multiline
+'*'           Comment.Multiline
+' NOTE: this is a collection of different tricky parts of Clean modules (even\n ' Comment.Multiline
+'*'           Comment.Multiline
+' though the file is simply called StdGeneric.icl). The code is taken from:\n ' Comment.Multiline
+'*'           Comment.Multiline
+'\n '         Comment.Multiline
+'*'           Comment.Multiline
+' - StdGeneric (StdEnv)\n ' Comment.Multiline
+'*'           Comment.Multiline
+' - Graphics.Scalable.Image (Platform)\n ' Comment.Multiline
+'*/'          Comment.Multiline
 '\n\n'        Text.Whitespace
 
 'import'      Keyword
index aea47bec6fff7f31225f3f777fc05d73dc6b1b9d..3d662084efa5b84605dbb62fba876f1c26c183eb 100644 (file)
@@ -1,85 +1,85 @@
 '/***************************************************************************\n                    ansigenerator.cpp  -  description\n                             -------------------\n    begin                : Jul 5 2004\n    copyright            : (C) 2004 by André Simon\n    email                : andre.simon1@gmx.de\n ***************************************************************************/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/***************************************************************************\n *                                                                         *\n *   This program is free software; you can redistribute it and/or modify  *\n *   it under the terms of the GNU General Public License as published by  *\n *   the Free Software Foundation; either version 2 of the License, or     *\n *   (at your option) any later version.                                   *\n *                                                                         *\n ***************************************************************************/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"ansigenerator.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'highlight'   Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'  '          Text
+'  '          Text.Whitespace
 'AnsiGenerator::getOpenTag' Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '&'           Operator
 'font'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                  ' Text
+'                                  ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '&'           Operator
 'fgCol'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '&'           Operator
 'bgCol'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ostringstream' Name
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's'           Name
-'  '          Text
+'  '          Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\033'       Literal.String.Escape
 '['           Literal.String
 '<'           Operator
 'font'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'fgCol'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 's'           Name
 '<'           Operator
 '<'           Operator
 '<'           Operator
 'fgCol'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'bgCol'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 's'           Name
 '<'           Operator
 '<'           Operator
 '<'           Operator
 'bgCol'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'm'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-'  '          Text
+'  '          Text.Whitespace
 's'           Name
 '.'           Punctuation
 'str'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'AnsiGenerator' Name
 ':'           Operator
 'AnsiGenerator' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'colourTheme' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'CodeGenerator' Name
 '('           Punctuation
 'colourTheme' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '31'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '//str\n'     Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '34'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//number\n'  Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '34'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//sl comment\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '34'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//ml comment\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '35'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//escapeChar\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '35'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//directive\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '01'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '31'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//directive string\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '30'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//linenum\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagOpen' Name
 '.'           Punctuation
 'push_back'   Name
 '01'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '00'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
 '//symbol\n'  Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'styleTagClose' Name
 '.'           Punctuation
 'push_back'   Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '='           Operator
 '1'           Literal.Number.Integer
 '<'           Operator
 'NUMBER_BUILTIN_STYLES' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'styleTagClose' Name
 '.'           Punctuation
 'push_back'   Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newLineTag'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'spacer'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'AnsiGenerator' Name
 ':'           Operator
 'AnsiGenerator' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'AnsiGenerator' Name
 ':'           Operator
 'AnsiGenerator' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'AnsiGenerator' Name
 ':'           Operator
 ':'           Operator
 'getHeader'   Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'title'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'AnsiGenerator' Name
 ':'           Operator
 ':'           Operator
 'printBody'   Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'processRootState' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'AnsiGenerator' Name
 ':'           Operator
 ':'           Operator
 'getFooter'   Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'AnsiGenerator' Name
 ':'           Operator
 ':'           Operator
 'maskCharacter' Name
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'm'           Name
 '+'           Operator
 '='           Operator
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'AnsiGenerator' Name
 ':'           Operator
 ':'           Operator
 'getMatchingOpenTag' Name
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'styleID'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'styleID'     Name
 ')'           Punctuation
 '01'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '32'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 '00'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '33'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'AnsiGenerator' Name
 ':'           Operator
 ':'           Operator
 'getMatchingCloseTag' Name
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'styleID'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\033'       Literal.String.Escape
 '[m'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/***************************************************************************\n                         ansicode.h  -  description\n                             -------------------\n    begin                : Jul 5 2004\n    copyright            : (C) 2004 by Andre Simon\n    email                : andre.simon1@gmx.de\n ***************************************************************************/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/***************************************************************************\n *                                                                         *\n *   This program is free software; you can redistribute it and/or modify  *\n *   it under the terms of the GNU General Public License as published by  *\n *   the Free Software Foundation; either version 2 of the License, or     *\n *   (at your option) any later version.                                   *\n *                                                                         *\n ***************************************************************************/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifndef ANSIGENERATOR_H' Comment.Preproc
 'define ANSIGENERATOR_H' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<iostream>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<fstream>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<string>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<sstream>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"codegenerator.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"charcodes.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"version.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'highlight'   Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/**\n   \\brief This class generates ANSI escape sequences.\n\n   It contains information about the resulting document structure (document\n   header and footer), the colour system, white space handling and text\n   formatting attributes.\n\n* @author Andre Simon\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
 ' '           Text
 'AnsiGenerator' Name.Class
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'highlight'   Name
 ':'           Operator
 ':'           Operator
 'CodeGenerator' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '/** Constructor\n     \\param colourTheme Name of Colour theme to use\n    */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'AnsiGenerator' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'colourTheme' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'AnsiGenerator' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '~'           Operator
 'AnsiGenerator' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '/** prints document header\n       \\param  title Title of the document\n    */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'getHeader'   Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'title'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/** Prints document footer*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'getFooter'   Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/** Prints document body*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'printBody'   Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'private'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/** \\return escaped character*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'maskCharacter' Name
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/** gibt ANSI-"Tags" zurueck (Farbindex+bold+kursiv)*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'getOpenTag'  Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '&'           Operator
 'font'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '&'           Operator
 'fgCol'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '&'           Operator
 'bgCol'       Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'getMatchingOpenTag' Name.Function
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'styleID'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'getMatchingCloseTag' Name.Function
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'styleID'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 '/*\n * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved.\n *\n * ASBeautifier.cpp\n * by Tal Davidson (davidsont@bigfoot.com)\n * This file is a part of "Artistic Style" - an indentater and reformatter\n * of C, C, C# and Java source files.\n *\n * The "Artistic Style" project, including all files needed to compile it,\n * is free software; you can redistribute it and/or use it and/or modify it\n * under the terms of the GNU General Public License as published \n * by the Free Software Foundation; either version 2 of the License, \n * or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n * You should have received a copy of the GNU General Public\n * License along with this program.\n *\n * Patches:\n * 18 March 1999 - Brian Rampel -\n *       Fixed inverse insertion of spaces vs. tabs when in -t mode.\n * 08 may 2004 \n *       applied ASBeautifier.cpp.BITFIELD.patch.bz2\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"compiler_defines.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"ASBeautifier.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<vector>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<string>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<cctype>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<algorithm>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<iostream>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define INIT_CONTAINER(container, value)     {if ( (container) != NULL ) delete (container); (container) = (value); }' Comment.Preproc
 'define DELETE_CONTAINER(container)          {if ( (container) != NULL ) delete (container) ; }' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef USES_NAMESPACE' Comment.Preproc
 '\n'          Comment.Preproc
 
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef USES_NAMESPACE' Comment.Preproc
 '\n'          Comment.Preproc
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'astyle'      Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'calledInitStatic' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'headers'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'nonParenHeaders' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'preBlockStatements' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'assignmentOperators' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'nonAssignmentOperators' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/*\n   * initialize the static vars\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier::initStatic' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'calledInitStatic' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'calledInitStatic' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_IF'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_ELSE'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_FOR'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_WHILE'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_DO'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_TRY'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CATCH'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_FINALLY'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_SYNCHRONIZED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_SWITCH'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CASE'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_DEFAULT'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_FOREACH'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_LOCK'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_UNSAFE'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_FIXED'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GET'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_SET'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_ADD'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_REMOVE'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '//headers.push_back(&AS_PUBLIC);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '//headers.push_back(&AS_PRIVATE);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '//headers.push_back(&AS_PROTECTED);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '//headers.push_back(&AS_OPERATOR);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_TEMPLATE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CONST'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**/'        Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_STATIC'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headers'     Name
 '.'           Punctuation
 'push_back'   Name
 'AS_EXTERN'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_ELSE'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_DO'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_TRY'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_FINALLY'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_STATIC'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CONST'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_EXTERN'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CASE'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_DEFAULT'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_UNSAFE'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GET'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_SET'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_ADD'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_REMOVE'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_PUBLIC'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_PRIVATE'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_PROTECTED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_TEMPLATE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CONST'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '///    nonParenHeaders.push_back(&AS_ASM);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_CLASS'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_STRUCT'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_UNION'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_INTERFACE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_NAMESPACE' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_THROWS'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preBlockStatements' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_EXTERN'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_ASSIGN'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_PLUS_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_MINUS_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_MULT_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_DIV_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_MOD_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_OR_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_AND_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_XOR_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GR_GR_GR_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GR_GR_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_LS_LS_LS_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_LS_LS_ASSIGN' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_RETURN'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_EQUAL'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_PLUS_PLUS' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_MINUS_MINUS' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_NOT_EQUAL' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GR_EQUAL' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GR_GR_GR' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_GR_GR'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_LS_EQUAL' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_LS_LS_LS' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_LS_LS'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_ARROW'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_AND'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nonAssignmentOperators' Name
 '.'           Punctuation
 'push_back'   Name
 'AS_OR'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/**\n   * ASBeautifier's constructor\n   */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'ASBeautifier' Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'initStatic'  Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'waitingBeautifierStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'activeBeautifierStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'waitingBeautifierStackLengthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'activeBeautifierStackLengthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headerStack' Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'tempStacks'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockParenDepthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'parenStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bracketBlockStateStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndentStackSizeStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'parenIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'sourceIterator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isMinimalConditinalIndentSet' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shouldForceTabIndentation' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setSpaceIndentation' Name
 '('           Punctuation
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setMaxInStatementIndentLength' Name
 '('           Punctuation
 '40'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setClassIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setSwitchIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setCaseIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setBlockIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setBracketIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setNamespaceIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setLabelIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setEmptyLineFill' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setCStyle'   Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'setPreprocessorIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'ASBeautifier' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'other'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'waitingBeautifierStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'activeBeautifierStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'waitingBeautifierStackLengthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'activeBeautifierStackLengthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'headerStack' Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'headerStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'headerStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'tempStacks'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'vector'      Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ':'           Operator
 ':'           Operator
 'iterator'    Name
-' '           Text
+' '           Text.Whitespace
 'iter'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'tempStacks'  Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'iter'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'tempStacks'  Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '+'           Operator
 '+'           Operator
 'iter'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'newVec'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '*'           Operator
 'newVec'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'iter'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 'newVec'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockParenDepthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'blockParenDepthStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'blockParenDepthStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'blockStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'blockStatementStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'parenStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'parenStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'parenStatementStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bracketBlockStateStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'bracketBlockStateStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'bracketBlockStateStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'inStatementIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'inStatementIndentStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndentStackSizeStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'inStatementIndentStackSizeStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'inStatementIndentStackSizeStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'parenIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'parenIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'other'       Name
 '.'           Punctuation
 'parenIndentStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'sourceIterator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'sourceIterator' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'indentString' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'indentString' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'currentHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'previousLastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'previousLastLineHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'immediatelyPreviousAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'immediatelyPreviousAssignmentOp' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInQuote'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInQuote'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInComment' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInCase'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInCase'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInQuestion' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInQuestion' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 'other'       Name
 '.'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'isInStatement' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInHeader'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInHeader'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isCStyle'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInOperator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInOperator' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInTemplate' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInTemplate' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInConst'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInConst'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'classIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'classIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInClassHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInClassHeaderTab' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInClassHeaderTab' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'switchIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'switchIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'caseIndent'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'caseIndent'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'namespaceIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'namespaceIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bracketIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'bracketIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'blockIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'labelIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'labelIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preprocessorIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'preprocessorIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'parenDepth'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'indentLength' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'indentLength' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'blockTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'leadingWhiteSpaces' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'leadingWhiteSpaces' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'maxInStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'maxInStatementIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'templateDepth' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'templateDepth' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'quoteChar'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'quoteChar'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'prevNonSpaceCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'currentNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'currentNonSpaceCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'currentNonLegalCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'currentNonLegalCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevNonLegalCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'prevNonLegalCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInConditional' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInConditional' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'minConditionalIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'minConditionalIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevFinalLineSpaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'prevFinalLineSpaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevFinalLineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'prevFinalLineTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'emptyLineFill' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'emptyLineFill' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'probationHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInDefine'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInDefine'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInDefineDefinition' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'isInDefineDefinition' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'backslashEndsPrevLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'backslashEndsPrevLine' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'defineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Punctuation
 'defineTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/**\n   * ASBeautifier's destructor\n   */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'ASBeautifier' Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempStacks'  Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'blockParenDepthStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'blockStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'parenStatementStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bracketBlockStateStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStackSizeStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'DELETE_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'parenIndentStack' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// DELETE_CONTAINER( sourceIterator );\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/**\n   * initialize the ASBeautifier.\n   *\n   * init() should be called every time a ABeautifier object is to start\n   * beautifying a NEW source file.\n   * init() recieves a pointer to a DYNAMICALLY CREATED ASSourceIterator object\n   * that will be used to iterate through the source code. This object will be\n   * deleted during the ASBeautifier's destruction, and thus should not be\n   * deleted elsewhere.\n   *\n   * @param iter     a pointer to the DYNAMICALLY CREATED ASSourceIterator object.\n   */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'init'        Name
 '('           Punctuation
 'ASSourceIterator' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'iter'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'sourceIterator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'iter'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'init'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * initialize the ASBeautifier.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'init'        Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'waitingBeautifierStack' Name
 ','           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'ASBeautifier' Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStack' Name
 ','           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'ASBeautifier' Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'waitingBeautifierStackLengthStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStackLengthStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 ','           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tempStacks'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 'push_back'   Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'blockParenDepthStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'blockStatementStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'parenStatementStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bracketBlockStateStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bracketBlockStateStack' Name
 '-'           Operator
 '>'           Operator
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'INIT_CONTAINER' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'parenIndentStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'immediatelyPreviousAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'previousLastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInQuote'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInCase'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInQuestion' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInClassHeaderTab' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInHeader'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInOperator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInTemplate' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInConst'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInConditional' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'templateDepth' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'parenDepth'  Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'blockTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'leadingWhiteSpaces' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'currentNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevNonLegalCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'currentNonLegalCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevFinalLineSpaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevFinalLineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'backslashEndsPrevLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInDefine'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isInDefineDefinition' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'defineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set indentation style to ANSI C/C++.  \n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setCStyle'   Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set indentation style to Java / K&R.  \n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setJavaStyle' Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * indent using one tab per indentation\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setTabIndentation' Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'forceTabs'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'indentString' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\t'         Literal.String.Escape
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'indentLength' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shouldForceTabIndentation' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'forceTabs'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isMinimalConditinalIndentSet' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'minConditionalIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indentLength' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   \n   * indent using a number of spaces per indentation.\n   *\n   * @param   length     number of spaces per indent.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setSpaceIndentation' Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'indentString' Name
 '='           Operator
 'string'      Name
 '('           Punctuation
 'length'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'indentLength' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isMinimalConditinalIndentSet' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'minConditionalIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indentLength' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the maximum indentation between two lines in a multi-line statement.\n   *\n   * @param   max     maximum indentation length.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setMaxInStatementIndentLength' Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'max'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'maxInStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'max'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the minimum indentation between two lines in a multi-line condition.\n   *\n   * @param   min     minimal indentation length.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setMinConditionalIndentLength' Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'min'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'minConditionalIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'min'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isMinimalConditinalIndentSet' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the state of the bracket indentation option. If true, brackets will \n   * be indented one additional indent.\n   *\n   * @param   state             state of option.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setBracketIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bracketIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the state of the block indentation option. If true, entire blocks \n   * will be indented one additional indent, similar to the GNU indent style.\n   *\n   * @param   state             state of option.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setBlockIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'setBracketIndent' Name
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "// so that we don't have both bracket and block indent\n" Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'blockIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the state of the class indentation option. If true, C++ class\n   * definitions will be indented one additional indent.\n   *\n   * @param   state             state of option.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setClassIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'classIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/**\n   * set the state of the switch indentation option. If true, blocks of 'switch' \n   * statements will be indented one additional indent.\n   *\n   * @param   state             state of option.\n   */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setSwitchIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'switchIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/**\n   * set the state of the case indentation option. If true, lines of 'case' \n   * statements will be indented one additional indent.\n   *\n   * @param   state             state of option.\n   */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setCaseIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'caseIndent'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/**\n   * set the state of the namespace indentation option. \n   * If true, blocks of 'namespace' statements will be indented one \n   * additional indent. Otherwise, NO indentation will be added.\n   *\n   * @param   state             state of option.\n   */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setNamespaceIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'namespaceIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the state of the label indentation option. \n   * If true, labels will be indented one indent LESS than the\n   * current indentation level.\n   * If false, labels will be flushed to the left with NO\n   * indent at all.\n   *\n   * @param   state             state of option.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setLabelIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'labelIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the state of the preprocessor indentation option. \n   * If true, multiline #define statements will be indented.\n   *\n   * @param   state             state of option.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setPreprocessorIndent' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'preprocessorIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * set the state of the empty line fill option. \n   * If true, empty lines will be filled with the whitespace.\n   * of their previous lines.\n   * If false, these lines will remain empty.\n   *\n   * @param   state             state of option.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'setEmptyLineFill' Name
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'emptyLineFill' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * check if there are any indented lines ready to be read by nextLine()\n   *\n   * @return    are there any indented lines ready?\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'hasMoreLines' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'sourceIterator' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * get the next indented line.\n   *\n   * @return    indented line.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'nextLine'    Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'beautify'    Name
 '('           Punctuation
 'sourceIterator' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * beautify a line of source code.\n   * every line of source code in a source code file should be sent\n   * one after the other to the beautify method.\n   *\n   * @return      the indented line.\n   * @param originalLine       the original unindented line.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'beautify'    Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'originalLine' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lineStartsInComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInSwitch'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isImmediatelyAfterConst' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isSpecialChar' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prevCh'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// the newly idented line is bufferd here\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'lastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'closingBracketReached' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempCh'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'headerStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '//bool isLineInStatement = isInStatement;\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'shouldIndentBrackettedLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lineOpeningBlocksNum' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lineClosingBlocksNum' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'previousLineProbation' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lineStartsInComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'isInComment' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// handle and remove white spaces around the line:\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// If not in comment, first find out size of white space before line,\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// so that possible comments starting in the line continue in\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// relation to the preliminary white-space.\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isInComment' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'leadingWhiteSpaces' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'leadingWhiteSpaces' Name
 '<'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'originalLine' Name
 '['           Punctuation
 'leadingWhiteSpaces' Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0x20'        Literal.Number.Hex
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'leadingWhiteSpaces' Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'line'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'trim'        Name
 '('           Punctuation
 'originalLine' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'trimSize'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trimSize'    Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'trimSize'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'originalLine' Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'trimSize'    Name
 '<'           Operator
 'leadingWhiteSpaces' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'originalLine' Name
 '['           Punctuation
 'trimSize'    Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0x20'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'trimSize'    Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'line'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'originalLine' Name
 '.'           Punctuation
 'substr'      Name
 'trimSize'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'emptyLineFill' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'preLineWS'   Name
 '('           Punctuation
 'prevFinalLineSpaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'prevFinalLineTabCount' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// handle preprocessor commands\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '#'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'backslashEndsPrevLine' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '#'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'preproc'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'trim'        Name
 '('           Punctuation
 'string'      Name
 'c_str'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '// When finding a multi-lined #define statement, the original beautifier\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '// 1. sets its isInDefineDefinition flag\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '// 2. clones a new beautifier that will be used for the actual indentation\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '//    of the #define. This clone is put into the activeBeautifierStack in order\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '//    to be called for the actual indentation.\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '// The original beautifier will have isInDefineDefinition = true, isInDefine = false\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '// The cloned beautifier will have   isInDefineDefinition = true, isInDefine = true\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'preprocessorIndent' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'preproc'     Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'line'        Name
 '['           Punctuation
 'line'        Name
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\\\'        Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isInDefineDefinition' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'ASBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'defineBeautifier' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// this is the original beautifier\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInDefineDefinition' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// push a new beautifier into the active stack\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// this breautifier will be used for the indentation of this define\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'defineBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 '('           Punctuation
 '*'           Operator
 'this'        Keyword
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '//defineBeautifier->init();\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 '//defineBeautifier->isInDefineDefinition = true;\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 '//defineBeautifier->beautify("");\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 'defineBeautifier' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// the is the cloned beautifier that is in charge of indenting the #define.\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInDefine'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'preproc'     Name
 '.'           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// push a new beautifier into the stack\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'waitingBeautifierStackLengthStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'activeBeautifierStackLengthStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'waitingBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 'push_back'   Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 '('           Punctuation
 '*'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'preproc'     Name
 '.'           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 '/*2*/'       Comment.Multiline
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'waitingBeautifierStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// MOVE current waiting beautifier to active stack.\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'waitingBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'preproc'     Name
 '.'           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'waitingBeautifierStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// append a COPY current waiting beautifier to active stack, WITHOUT deleting the original.\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 'push_back'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 'waitingBeautifierStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'preproc'     Name
 '.'           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'stackLength' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'ASBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'beautifier'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'waitingBeautifierStackLengthStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'stackLength' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'waitingBeautifierStackLengthStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'waitingBeautifierStackLengthStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'waitingBeautifierStack' Name
 '-'           Operator
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'stackLength' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'beautifier'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'waitingBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'waitingBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'delete'      Keyword
-' '           Text
+' '           Text.Whitespace
 'beautifier'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'activeBeautifierStackLengthStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'stackLength' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStackLengthStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'activeBeautifierStackLengthStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'activeBeautifierStack' Name
 '-'           Operator
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'stackLength' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'beautifier'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'delete'      Keyword
-' '           Text
+' '           Text.Whitespace
 'beautifier'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// check if the last char is a backslash\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'line'        Name
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'backslashEndsPrevLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '['           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\\\'        Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'backslashEndsPrevLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// check if this line ends a multi-line #define\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 "// if so, use the #define's cloned beautifier for the line's indentation\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '// and then remove it from the active beautifier stack and delete it.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'backslashEndsPrevLine' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInDefineDefinition' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isInDefine'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'beautifiedLine' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'ASBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'defineBeautifier' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInDefineDefinition' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'defineBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'beautifiedLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'defineBeautifier' Name
 '-'           Operator
 '>'           Operator
 'line'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'delete'      Keyword
-' '           Text
+' '           Text.Whitespace
 'defineBeautifier' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'beautifiedLine' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// unless this is a multi-line #define, return this precompiler line as is.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isInDefine'  Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isInDefineDefinition' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'originalLine' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// if there exists any worker beautifier in the activeBeautifierStack,\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// then use it instead of me to indent the current line.\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isInDefine'  Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStack' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'activeBeautifierStack' Name
 '-'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'activeBeautifierStack' Name
 '-'           Operator
 '>'           Operator
 'line'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// calculate preliminary indentation based on data from past lines\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'inStatementIndentStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'headerStackSize' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'isInClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'blockIndent' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 'i'           Name
 '>'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'i'           Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '+'           Operator
 '+'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'namespaceIndent' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'i'           Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_NAMESPACE' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'i'           Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CLASS'    Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'classIndent' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '+'           Operator
 '+'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// is the switchIndent option is on, indent switch statements an additional indent.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'switchIndent' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'i'           Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_SWITCH'   Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '+'           Operator
 '+'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInSwitch'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'lineStartsInComment' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isCStyle'    Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInClass'   Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'classIndent' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
 '('           Punctuation
 'headerStackSize' Name
 '-2'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CLASS'    Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'headerStackSize' Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'lineStartsInComment' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInSwitch'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'switchIndent' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'headerStackSize' Name
 '-2'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_SWITCH'   Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 'headerStackSize' Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInClassHeader' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'isInClassHeaderTab' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInConditional' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// parse characters in the current line.\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'line'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'tempCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'prevCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tempCh'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isWhiteSpace' Name
 '('           Punctuation
 'ch'          Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// handle special characters (i.e. backslash+character such as \\n, \\t, ...)\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isSpecialChar' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isSpecialChar' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\\\'        Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '='           Operator
 '='           Operator
 '\\\\'        Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isSpecialChar' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// handle quotes (such as \'x\' and "Hello Dolly")\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
 '='           Operator
 "'"           Literal.String.Char
 '"'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '='           Operator
 '='           Operator
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isInQuote'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'quoteChar'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'isInQuote'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'quoteChar'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'isInQuote'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInQuote'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// handle comments\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_OPEN_LINE_COMMENT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInLineComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '/'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_OPEN_COMMENT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '*'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInLineComment' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_CLOSE_COMMENT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInComment' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '/'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInComment' Name
 '|'           Operator
 '|'           Operator
 'isInLineComment' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// if we have reached this far then we are NOT in a comment or string of special character...\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_STATIC'   Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CONST'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_SYNCHRONIZED' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '('           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// insert the probation header as a new header\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'isInHeader'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'probationHeader' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// handle the specific probation header\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'isInConditional' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_SYNCHRONIZED' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CONST'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'isImmediatelyAfterConst' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '//  isInConst = true;\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '/* TODO:\n                 * There is actually no more need for the global isInConst variable.\n                               * The only reason for checking const is to see if there is a const\n                 * immediately before an open-bracket.\n                 * Since CONST is now put into probation and is checked during itspost-char,\n                 * isImmediatelyAfterConst can be set by its own...\n                 */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// if the probation comes from the previous line, then indent by 1 tab count.\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'previousLineProbation' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'tabCount'    Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'previousLineProbation' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '// dismiss the probation header\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'currentNonSpaceCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'currentNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isLegalNameChar' Name
 '('           Punctuation
 'ch'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ','           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'prevNonLegalCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'currentNonLegalCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'currentNonLegalCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '//if (isInConst)\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '//{\n'       Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '//    isInConst = false;\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '//    isImmediatelyAfterConst = true;\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '//}\n'       Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInHeader'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInHeader'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInTemplate' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'findHeader'  Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nonAssignmentOperators' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '//;\n'       Comment.Single
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '+'           Operator
 '+'           Operator
 'templateDepth' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '-'           Operator
 'templateDepth' Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInTemplate' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 't'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInTemplate' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'templateDepth' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// handle parenthesies\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '('           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '['           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ')'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ']'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '('           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '['           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'parenStatementStack' Name
 '-'           Operator
 '>'           Operator
 'isInStatement' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'parenDepth'  Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'registerInStatementIndent' Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'minConditionalIndent' Name
 '/*indentLength*2*/' Comment.Multiline
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'registerInStatementIndent' Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ')'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ']'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'parenDepth'  Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parenStatementStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'parenStatementStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInConditional' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'inStatementIndentStackSizeStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'previousIndentStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'previousIndentStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'parenIndentStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'poppedIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parenIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'parenIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'poppedIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isBlockOpener' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 "// first, check if '{' is a block-opener or an static-array opener\n" Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'isBlockOpener' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'bracketBlockStateStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ')'           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInClassHeader' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isBlockOpener' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isImmediatelyAfterConst' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInDefine'  Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                  ' Text
+'                                  ' Text.Whitespace
 '('           Punctuation
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '('           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                   ' Text
+'                                   ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '_'           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                   ' Text
+'                                   ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'isalnum'     Name
 '('           Punctuation
 'prevNonSpaceCh' Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isBlockOpener' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'nonParenHeaders' Name
 '.'           Punctuation
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'currentHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nonParenHeaders' Name
 '['           Punctuation
 'n'           Name
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'isBlockOpener' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'bracketBlockStateStack' Name
 '-'           Operator
 '>'           Operator
 'isBlockOpener' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isBlockOpener' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'registerInStatementIndent' Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'parenDepth'  Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'shouldIndentBrackettedLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '// this bracket is a block opener...\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '+'           Operator
 '+'           Operator
 'lineOpeningBlocksNum' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInClassHeader' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInClassHeaderTab' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'isInClassHeaderTab' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'blockParenDepthStack' Name
 '-'           Operator
 '>'           Operator
 'parenDepth'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'blockStatementStack' Name
 '-'           Operator
 '>'           Operator
 'isInStatement' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'blockTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'isInStatement' Name
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 'push_back'   Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'lastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// <------\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '//check if a header has been reached\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prevCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isIndentableHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'findHeader'  Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'headers'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// if we reached here, then this is a header...\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'isInHeader'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'lastTempStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tempStacks'  Name
 '-'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'lastTempStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'lastTempStack' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// if a new block is opened, push a new stack into tempStacks to hold the\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '// future list of headers in the new block.\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// take care of the special case: 'else if (...)'\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_IF'       Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'lastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_ELSE'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 "//spaceTabCount += indentLength; // to counter the opposite addition that occurs when the 'if' is registered below...\n" Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// take care of 'else'\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_ELSE'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lastTempStack' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'indexOfIf'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOf'     Name
 '('           Punctuation
 '*'           Operator
 'lastTempStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_IF'       Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// <---\n'   Comment.Single
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indexOfIf'   Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 "// recreate the header list in headerStack up to the previous 'if'\n" Comment.Single
 
-'                            ' Text
+'                            ' Text.Whitespace
 '// from the temporary snapshot stored in lastTempStack.\n' Comment.Single
 
-'                            ' Text
+'                            ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'restackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lastTempStack' Name
 '-'           Operator
 '>'           Operator
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOfIf'   Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '<'           Operator
 'restackSize' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'lastTempStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'closingBracketReached' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'restackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 "/*\n                         * If the above if is not true, i.e. no 'if' before the 'else',\n                         * then nothing beautiful will come out of this...\n                         * I should think about inserting an Exception here to notify the caller of this...\n                         */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// check if 'while' closes a previous 'do'\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_WHILE'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lastTempStack' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'indexOfDo'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOf'     Name
 '('           Punctuation
 '*'           Operator
 'lastTempStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_DO'       Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// <---\n'   Comment.Single
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indexOfDo'   Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 "// recreate the header list in headerStack up to the previous 'do'\n" Comment.Single
 
-'                            ' Text
+'                            ' Text.Whitespace
 '// from the temporary snapshot stored in lastTempStack.\n' Comment.Single
 
-'                            ' Text
+'                            ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'restackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lastTempStack' Name
 '-'           Operator
 '>'           Operator
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOfDo'   Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '<'           Operator
 'restackSize' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'lastTempStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'closingBracketReached' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'restackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// check if 'catch' closes a previous 'try' or 'catch'\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CATCH'    Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_FINALLY'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lastTempStack' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'indexOfTry'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOf'     Name
 '('           Punctuation
 '*'           Operator
 'lastTempStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_TRY'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indexOfTry'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'indexOfTry'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOf'     Name
 '('           Punctuation
 '*'           Operator
 'lastTempStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CATCH'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indexOfTry'  Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 "// recreate the header list in headerStack up to the previous 'try'\n" Comment.Single
 
-'                            ' Text
+'                            ' Text.Whitespace
 '// from the temporary snapshot stored in lastTempStack.\n' Comment.Single
 
-'                            ' Text
+'                            ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'restackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lastTempStack' Name
 '-'           Operator
 '>'           Operator
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOfTry'  Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '<'           Operator
 'restackSize' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'lastTempStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'closingBracketReached' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'restackSize' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CASE'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInCase'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'caseIndent'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_DEFAULT'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInCase'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'caseIndent'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_PUBLIC'   Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_PROTECTED' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_PRIVATE'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isInClassHeader' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isIndentableHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '//else if ((newHeader == &STATIC || newHeader == &SYNCHRONIZED) &&\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '//         !headerStack->empty() &&\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '//         (headerStack->back() == &STATIC || headerStack->back() == &SYNCHRONIZED))\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '//{\n'       Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '//    isIndentableHeader = false;\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '//}\n'       Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_STATIC'   Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_SYNCHRONIZED' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CONST'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isCStyle'    Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'headerStack' Name
 'empty'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 '('           Punctuation
 'headerStack' Name
 '-'           Operator
 'back'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_STATIC'   Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'back'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_SYNCHRONIZED' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'back'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CONST'    Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'isIndentableHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'isIndentableHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'probationHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_CONST'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// this will be entered only if NOT in C style\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// since otherwise the CONST would be found to be a probstion header...\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '//if (isCStyle)\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 '//  isInConst = true;\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isIndentableHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '/*\n                              else if (newHeader == &OPERATOR)\n                              {\n                                  if (isCStyle)\n                                      isInOperator = true;\n                                  isIndentableHeader = false;\n                              }\n                */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_TEMPLATE' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'isInTemplate' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isIndentableHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isIndentableHeader' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '// 3.2.99\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 '//spaceTabCount-=indentLength;\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'newHeader'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indexOf'     Name
 '('           Punctuation
 'nonParenHeaders' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'isInConditional' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'lastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'isInHeader'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '//lastLineHeader = newHeader;\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
 '-'           Operator
 '>'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isalpha'     Name
 '('           Punctuation
 'prevCh'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_OPERATOR' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isalnum'     Name
 '('           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInOperator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '?'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'isInQuestion' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 "// special handling of 'case' statements\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ':'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ':'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// look for ::\n' Comment.Single
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '+'           Operator
 '+'           Operator
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ':'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInClass'   Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ')'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '// BEGIN Content of ASBeautifier.cpp.BITFIELD.patch:\n' Comment.Single
 
-'              \n                ' Text
+'              ' Text.Whitespace
+'\n'          Text.Whitespace
+
+'                ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   \t\t\t    ' Text
+'   \t\t\t    ' Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            \t\t' Text
+'            \t\t' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isWhiteSpace' Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'chIndex'     Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'       \t\t\t\t\t' Text
+'       \t\t\t\t\t' Text.Whitespace
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'chIndex'     Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nWord'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    \t\t\t'  Text
+'    \t\t\t'  Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isWhiteSpace' Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'nWord'       Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isWhiteSpace' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\t\t\t\t\t\t\t\t\t\n\t\t\t\t' Text
+'\t\t\t\t\t\t\t\t\t' Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '9'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nWord'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '// END Content of ASBeautifier.cpp.BITFIELD.patch:\n' Comment.Single
 
-'                \n                ' Text
+'                ' Text.Whitespace
+'\n'          Text.Whitespace
+
+'                ' Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// found a 'private:' or 'public:' inside a class definition\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '// so do nothing special\n' Comment.Single
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isInClassHeader' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// found a 'class A : public B' definition\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '// so do nothing special\n' Comment.Single
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInQuestion' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'isInQuestion' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ')'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '='           Operator
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'currentNonSpaceCh' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "// so that brackets after the ':' will appear as block-openers\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInCase'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInCase'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "// from here on, treat char as ';'\n" Comment.Single
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-' \n              ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'              ' Text.Whitespace
 '// BEGIN content of ASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single
 
-'              ' Text
+'              ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '// bitfield or labels\n' Comment.Single
 
-'\t\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t\t' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isWhiteSpace' Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'chIndex'     Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'chIndex'     Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     \t\t\t' Text
+'     \t\t\t' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nWord'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-' \t\t\t\t'   Text
+' \t\t\t\t'   Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chIndex'     Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isWhiteSpace' Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'nWord'       Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isWhiteSpace' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '}'           Punctuation
-'\t\t\t\t\t\t\t\t\t\n\t\t\t\t' Text
+'\t\t\t\t\t\t\t\t\t' Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         \t\t' Text
+'         \t\t' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'nextCh'      Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '9'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nWord'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// END content of ASASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 "// is in a label (e.g. 'label1:')\n" Comment.Single
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'labelIndent' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// unindent label by one indent\n' Comment.Single
 
-'                    ' Text
+'                    ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// completely flush indent to left\n' Comment.Single
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '// BEGIN content of ASASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '// END content of ASASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
-'  '          Text
+'  '          Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parenDepth'  Name
 '>'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ','           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 'inStatementIndentStackSizeStack' Name
 'back'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parenDepth'  Name
 '>'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// handle ends of statements\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
 "/* || (ch == ',' && parenDepth == 0)*/" Comment.Multiline
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 "// first check if this '}' closes a previous block, or a static array...\n" Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'bracketBlockStateStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'bracketBlockState' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bracketBlockStateStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'bracketBlockStateStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'bracketBlockState' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'inStatementIndentStackSizeStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 '// this bracket is a static array\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'previousIndentStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'previousIndentStackSize' Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'parenDepth'  Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 'shouldIndentBrackettedLine' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                            ' Text
+'                            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'parenIndentStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'poppedIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parenIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'parenIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                ' Text
+'                                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                  ' Text
+'                                  ' Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'poppedIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '// this bracket is block closer...\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '+'           Operator
 '+'           Operator
 'lineClosingBlocksNum' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'inStatementIndentStackSizeStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'blockParenDepthStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'blockParenDepthStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'blockParenDepthStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'blockStatementStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'blockStatementStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInStatement' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 'blockTabCount' Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'closingBracketReached' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'headerPlace' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indexOf'     Name
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// <---\n'   Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'headerPlace' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'popped'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'popped'      Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'popped'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'tempStacks'  Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                        ' Text
+'                        ' Text.Whitespace
 'delete'      Keyword
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                      ' Text
+'                      ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "// needed due to cases such as '}else{', so that headers ('else' tn tih case) will be identified...\n" Comment.Single
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 "/*\n             * Create a temporary snapshot of the current block's header-list in the\n             * uppermost inner stack in tempStacks, and clear the headerStack up to\n             * the begining of the block.\n             * Thus, the next future statement will think it comes one indent past\n             * the block's '{' unless it specifically checks for a companion-header\n             * (such as a previous 'if' for an 'else' header) within the tempStacks,\n             * and recreates the temporary snapshot by manipulating the tempStacks.\n             */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'tempStacks'  Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'tempStacks'  Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'headerStack' Name
 'empty'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'back'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'tempStacks'  Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ';'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'isInStatement' Name
 '='           Operator
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// check for preBlockStatements ONLY if not within parenthesies\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 "// (otherwise 'struct XXX' statements would be wrongly interpreted...)\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prevCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isInTemplate' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'parenDepth'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'findHeader'  Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'preBlockStatements' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newHeader'   Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'isInClassHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'newHeader'   Name
 '-'           Operator
 '>'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 '//if (isCStyle)\n' Comment.Single
 
-'                ' Text
+'                ' Text.Whitespace
 'headerStack' Name
 '-'           Operator
 '>'           Operator
 'newHeader'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// Handle operators\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '//\n'        Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 "////        // PRECHECK if a '==' or '--' or '++' operator was reached.\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '////        // If not, then register an indent IF an assignment operator was reached.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 "////        // The precheck is important, so that statements such as 'i--==2' are not recognized\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 "////        // to have assignment operators (here, '-=') in them . . .\n" Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'foundAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'foundNonAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'immediatelyPreviousAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// Check if an operator has been reached.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'foundAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'findHeader'  Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'assignmentOperators' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'foundNonAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'findHeader'  Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nonAssignmentOperators' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 "// Since findHeader's boundry checking was not used above, it is possible\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '// that both an assignment op and a non-assignment op where found,\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 "// e.g. '>>' and '>>='. If this is the case, treat the LONGER one as the\n" Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '// found operator.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foundAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'foundNonAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foundAssignmentOp' Name
 '-'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'foundNonAssignmentOp' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'foundAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'foundNonAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foundNonAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foundNonAssignmentOp' Name
 '-'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foundNonAssignmentOp' Name
 '-'           Operator
 '>'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foundAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foundAssignmentOp' Name
 '-'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'append'      Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foundAssignmentOp' Name
 '-'           Operator
 '>'           Operator
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isInOperator' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isInTemplate' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'registerInStatementIndent' Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'immediatelyPreviousAssignmentOp' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foundAssignmentOp' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'isInStatement' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '/*\n                immediatelyPreviousAssignmentOp = NULL;\n                bool isNonAssingmentOperator = false;\n                for (int n = 0; n < nonAssignmentOperators.size(); n++)\n                    if (line.COMPARE(i, nonAssignmentOperators[n]->length(), *(nonAssignmentOperators[n])) == 0)\n                    {\n                        if (nonAssignmentOperators[n]->length() > 1)\n                        {\n                            outBuffer.append(nonAssignmentOperators[n]->substr(1));\n                            i += nonAssignmentOperators[n]->length() - 1;\n                        }\n                        isNonAssingmentOperator = true;\n                        break;\n                    }\n                if (!isNonAssingmentOperator)\n                {\n                    for (int a = 0; a < assignmentOperators.size(); a++)\n                        if (line.COMPARE(i, assignmentOperators[a]->length(), *(assignmentOperators[a])) == 0)\n                        {\n                            if (assignmentOperators[a]->length() > 1)\n                            {\n                                outBuffer.append(assignmentOperators[a]->substr(1));\n                                i += assignmentOperators[a]->length() - 1;\n                            }\n         \n                            if (!isInOperator && !isInTemplate)\n                            {\n                                registerInStatementIndent(line, i, spaceTabCount, 0, false);\n                                immediatelyPreviousAssignmentOp = assignmentOperators[a];\n                                isInStatement = true;\n                            }\n                            break;\n                        }\n                }\n        */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInOperator' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'isInOperator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// handle special cases of unindentation:\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/*\n     * if \'{\' doesn\'t follow an immediately previous \'{\' in the headerStack\n     * (but rather another header such as "for" or "if", then unindent it\n     * by one indentation relative to its block.\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '//    cerr << endl << lineOpeningBlocksNum << " " <<  lineClosingBlocksNum << " " <<  previousLastLineHeader << endl;\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// indent #define lines with one less tab\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '//if (isInDefine)\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '//    tabCount -= defineTabCount-1;\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'lineStartsInComment' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'blockIndent' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'length'      Name
 ')'           Punctuation
 '>'           Operator
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'lineOpeningBlocksNum' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'lineOpeningBlocksNum' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lineClosingBlocksNum' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'headerStack' Name
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'headerStack' Name
 ')'           Punctuation
 '-2'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'shouldIndentBrackettedLine' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'lineStartsInComment' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'length'      Name
 ')'           Punctuation
 '>'           Operator
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'shouldIndentBrackettedLine' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '-'           Operator
 '-'           Operator
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// correctly indent one-line-blocks...\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'lineStartsInComment' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'length'      Name
 ')'           Punctuation
 '>'           Operator
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'lineOpeningBlocksNum' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'lineOpeningBlocksNum' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lineClosingBlocksNum' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'previousLastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'previousLastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'AS_OPEN_BRACKET' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '//lineOpeningBlocksNum - (blockIndent ? 1 : 0);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// take care of extra bracket indentatation option...\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bracketIndent' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '.'           Punctuation
 'length'      Name
 ')'           Punctuation
 '>'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'shouldIndentBrackettedLine' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outBuffer'   Name
 '['           Punctuation
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 '}'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'tabCount'    Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isInDefine'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outBuffer'   Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '#'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'preproc'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'trim'        Name
 '('           Punctuation
 'string'      Name
 'c_str'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'preproc'     Name
 '.'           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'inStatementIndentStack' Name
 'empty'       Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 'back'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'defineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'defineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'tabCount'    Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'defineTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// finally, insert indentations into begining of line\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevFinalLineSpaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'prevFinalLineTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tabCount'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'shouldForceTabIndentation' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'tabCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'indentLength' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'indentLength' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'outBuffer'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'preLineWS'   Name
 '('           Punctuation
 'spaceTabCount' Name
 ','           Punctuation
 'tabCount'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'previousLastLineHeader' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lastLineHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'outBuffer'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'preLineWS'   Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tabCount'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'ws'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'tabCount'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ws'          Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'indentString' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'spaceTabCount' Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ws'          Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ws'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * register an in-statement indent.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'registerInStatementIndent' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'minIndent'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'updateParenStack' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'inStatementIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'remainingCharNum' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nextNonWSChar' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nextNonWSChar' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getNextProgramCharDistance' Name
 '('           Punctuation
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// if indent is around the last char in the line, indent instead 2 spaces from the previous indent\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nextNonWSChar' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'remainingCharNum' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'previousIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'inStatementIndentStack' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'previousIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 'push_back'   Name
 '('           Punctuation
 '/*2*/'       Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'indentLength' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'previousIndent' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'updateParenStack' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'parenIndentStack' Name
 '-'           Operator
 '>'           Operator
 'push_back'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'previousIndent' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'updateParenStack' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'parenIndentStack' Name
 '-'           Operator
 '>'           Operator
 'spaceTabCount' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'nextNonWSChar' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'nextNonWSChar' Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'minIndent'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'inStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'minIndent'   Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'nextNonWSChar' Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'maxInStatementIndent' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'inStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'indentLength' Name
 '*'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'inStatementIndentStack' Name
 'empty'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'inStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'inStatementIndent' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'inStatementIndentStack' Name
 '-'           Operator
 '>'           Operator
 'inStatementIndent' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * get distance to the next non-white sspace, non-comment character in the line.\n   * if no such character exists, return the length remaining to the end of the line.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'getNextProgramCharDistance' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'inComment'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'remainingCharNum' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'charDistance' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'remainingCharNum' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'inComment'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_CLOSE_COMMENT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'charDistance' Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'inComment'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isWhiteSpace' Name
 '('           Punctuation
 'ch'          Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '/'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_OPEN_LINE_COMMENT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'remainingCharNum' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '.'           Punctuation
 'COMPARE'     Name
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AS_OPEN_COMMENT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'charDistance' Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'inComment'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'charDistance' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * check if a specific character can be used in a legal variable/method/class name\n   *\n   * @return          legality of the char.\n   * @param ch        the character to be checked.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'isLegalNameChar' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isalnum'     Name
 '('           Punctuation
 'ch'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "//(ch>='a' && ch<='z') || (ch>='A' && ch<='Z') || (ch>='0' && ch<='9') ||\n" Comment.Single
 
-'              ' Text
+'              ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '='           Operator
 '='           Operator
 "'"           Literal.String.Char
 '.'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '='           Operator
 '='           Operator
 "'"           Literal.String.Char
 '_'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '='           Operator
 '='           Operator
 '$'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isCStyle'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '='           Operator
 '='           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * check if a specific line position contains a header, out of several possible headers.\n   *\n   * @return    a pointer to the found header. if no header was found then return NULL.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ASBeautifier' Name
 ':'           Operator
 'findHeader'  Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'possibleHeaders' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'checkBoundry' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'maxHeaders'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'possibleHeaders' Name
 '.'           Punctuation
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'header'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'p'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'maxHeaders'  Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'header'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'possibleHeaders' Name
 '['           Punctuation
 'p'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
 '.'           Punctuation
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'header'      Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'header'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '// check that this is a header and not a part of a longer word\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 '// (e.g. not at its begining, not at its middle...)\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lineLength'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'headerEnd'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'header'      Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'startCh'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'header'      Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 '// first char of header\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'endCh'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 '// char just after header\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prevCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 '// char just before header\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'headerEnd'   Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'lineLength'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'endCh'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'headerEnd'   Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'prevCh'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '['           Punctuation
 'i'           Name
 '-1'          Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'checkBoundry' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'header'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prevCh'      Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                     ' Text
+'                     ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isLegalNameChar' Name
 '('           Punctuation
 'startCh'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                     ' Text
+'                     ' Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isLegalNameChar' Name
 '('           Punctuation
 'prevCh'      Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'headerEnd'   Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lineLength'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                     ' Text
+'                     ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isLegalNameChar' Name
 '('           Punctuation
 'startCh'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                     ' Text
+'                     ' Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'isLegalNameChar' Name
 '('           Punctuation
 'endCh'       Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'header'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * check if a specific character can be used in a legal variable/method/class name\n   *\n   * @return          legality of the char.\n   * @param ch        the character to be checked.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'isWhiteSpace' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 ' '           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\t'         Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * find the index number of a string element in a container of strings\n   *\n   * @return              the index number of element in the ocntainer. -1 if element not found.\n   * @param container     a vector of strings.\n   * @param element       the element to find .\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'container'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'element'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 ':'           Operator
 ':'           Operator
 'const_iterator' Name
-' '           Text
+' '           Text.Whitespace
 'where'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'where'       Name
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'find'        Name
 '('           Punctuation
 'container'   Name
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'container'   Name
 '.'           Punctuation
 'end'         Name
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'element'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'where'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'container'   Name
 '.'           Punctuation
 'end'         Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'where'       Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'container'   Name
 '.'           Punctuation
 'begin'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * trim removes the white space surrounding a line.\n   *\n   * @return          the trimmed line.\n   * @param str       the line to trim.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
 ':'           Operator
 ':'           Operator
 'trim'        Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'str'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'start'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 '.'           Punctuation
 'length'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'start'       Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isWhiteSpace' Name
 '('           Punctuation
 'str'         Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'start'       Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'start'       Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'isWhiteSpace' Name
 '('           Punctuation
 'str'         Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'end'         Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'returnStr'   Name.Function
 '('           Punctuation
 'str'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'start'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'end'         Name
 '+'           Operator
 '1'           Literal.Number.Integer
 'start'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'returnStr'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef USES_NAMESPACE' Comment.Preproc
 '\n'          Comment.Preproc
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 '/*\n * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved.\n *\n * compiler_defines.h   (1 January 1999)\n * by Tal Davidson (davidsont@bigfoot.com)\n * This file is a part of "Artistic Style" - an indentater and reformatter\n * of C, C++, C# and Java source files.\n *\n * The "Artistic Style" project, including all files needed to compile it,\n * is free software; you can redistribute it and/or use it and/or modify it\n * under the terms of the GNU General Public License as published \n * by the Free Software Foundation; either version 2 of the License, \n * or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n * You should have received a copy of the GNU General Public\n * License along with this program.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifndef ASBEAUTIFIER_H' Comment.Preproc
 'define ASBEAUTIFIER_H' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"ASResource.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"compiler_defines.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"ASSourceIterator.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<string>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<vector>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'astyle'      Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'enum'        Keyword
 ' '           Text
 'BracketMode' Name.Class
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NONE_MODE'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ATTACH_MODE' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'BREAK_MODE'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'BDAC_MODE'   Name
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'enum'        Keyword
 ' '           Text
 'BracketType' Name.Class
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NULL_TYPE'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'DEFINITION_TYPE' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'COMMAND_TYPE' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'ARRAY_TYPE'  Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'SINGLE_LINE_TYPE' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'class'       Keyword
 ' '           Text
 'ASBeautifier' Name.Class
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'ASResource'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ASBeautifier' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 'ASBeautifier' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'init'        Name.Function
 '('           Punctuation
 'ASSourceIterator' Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'iter'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// pointer to dynamically created iterator.\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'init'        Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'hasMoreLines' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'nextLine'    Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'beautify'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setTabIndentation' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'length'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'forceTabs'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setSpaceIndentation' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'length'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setMaxInStatementIndentLength' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'max'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setMinConditionalIndentLength' Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'min'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setClassIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setSwitchIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setCaseIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setBracketIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setBlockIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setNamespaceIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setLabelIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setCStyle'   Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setJavaStyle' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setEmptyLineFill' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setPreprocessorIndent' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getNextProgramCharDistance' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isLegalNameChar' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isWhiteSpace' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'findHeader'  Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                               ' Text
+'                               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'possibleHeaders' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                               ' Text
+'                               ' Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'checkBoundry' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'trim'        Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'indexOf'     Name.Function
 '('           Punctuation
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'container'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'element'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'private'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ASBeautifier' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ASBeautifier' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'copy'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
 '='           Operator
 '('           Punctuation
 '&'           Operator
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// not to be implemented\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'initStatic'  Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'registerInStatementIndent' Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'line'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                     ' Text
+'                                     ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'minIndent'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'updateParenStack' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'preLineWS'   Name.Function
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'spaceTabCount' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tabCount'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'headers'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'nonParenHeaders' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'preprocessorHeaders' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'preBlockStatements' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'assignmentOperators' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'nonAssignmentOperators' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'calledInitStatic' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ASSourceIterator' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'sourceIterator' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'ASBeautifier' Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'waitingBeautifierStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'ASBeautifier' Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'activeBeautifierStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'waitingBeautifierStackLengthStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'activeBeautifierStackLengthStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'headerStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'vector'      Name
 '<'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 '*'           Operator
 '>'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'tempStacks'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'blockParenDepthStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'blockStatementStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'parenStatementStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'inStatementIndentStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'inStatementIndentStackSizeStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'int'         Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'parenIndentStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'vector'      Name
 '<'           Operator
 'bool'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'bracketBlockStateStack' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'indentString' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'currentHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'previousLastLineHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'immediatelyPreviousAssignmentOp' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'probationHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInQuote'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInComment' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInCase'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInQuestion' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInStatement' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInHeader'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isCStyle'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInOperator' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInTemplate' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInConst'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInDefine'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInDefineDefinition' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'classIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInClassHeader' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInClassHeaderTab' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'switchIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'caseIndent'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'namespaceIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'bracketIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'blockIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'labelIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'preprocessorIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isInConditional' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isMinimalConditinalIndentSet' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'shouldForceTabIndentation' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'minConditionalIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'parenDepth'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'indentLength' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'blockTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'leadingWhiteSpaces' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'maxInStatementIndent' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'templateDepth' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'quoteChar'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prevNonSpaceCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'currentNonSpaceCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'currentNonLegalCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prevNonLegalCh' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prevFinalLineSpaceTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prevFinalLineTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'emptyLineFill' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'backslashEndsPrevLine' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'defineTabCount' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
 '/*\n * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved.\n *\n * ASFormatter.cpp\n * by Tal Davidson (davidsont@bigfoot.com)\n * This file is a part of "Artistic Style" - an indentater and reformatter\n * of C, C++, C# and Java source files.\n *\n * The "Artistic Style" project, including all files needed to compile it,\n * is free software; you can redistribute it and/or use it and/or modify it\n * under the terms of the GNU General Public License as published \n * by the Free Software Foundation; either version 2 of the License, \n * or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n * You should have received a copy of the GNU General Public\n * License along with this program.\n *\n *\n * Patches:\n * 26 November 1998 - Richard Bullington -\n *        A correction of line-breaking in headers following \'}\',\n \n *        was created using a variation of a  patch by Richard Bullington.\n * 08 May 2004\n *        applied   ASFormatter450670.patch.bz2, ASFormatter.cpp.patch.bz2,\n *                  patch1_ssvb_patch.tar.gz\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"compiler_defines.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"ASFormatter.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<string>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<cctype>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<vector>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<algorithm>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<iostream>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define INIT_CONTAINER(container, value)     {if ( (container) != NULL ) delete (container); (container) = (value); }' Comment.Preproc
 '\n'          Comment.Preproc
 
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 87f55152eff99573d08fad8cb6065c86e40064dc..fd710c16cc7069e9d773603e808dfede14bb74b1 100644 (file)
 '/*\n * A Test file for the different string literals.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<iostream>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '_str'        Name
-'      '      Text
+'      '      Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'a normal string' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'wchar_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'L_str'       Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'L'           Literal.String.Affix
 '"'           Literal.String
 'a wide string' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'u8_str'      Name
-'    '        Text
+'    '        Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'u8'          Literal.String.Affix
 '"'           Literal.String
 'utf-8 string' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char16_t'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'u_str'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'u'           Literal.String.Affix
 '"'           Literal.String
 'utf-16 string' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char32_t'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'U_str'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'U'           Literal.String.Affix
 '"'           Literal.String
 'utf-32 string' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'R_str'       Name
-'     '       Text
+'     '       Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'R'           Literal.String.Affix
 '"'           Literal.String
 '"""'         Literal.String.Delimiter
 ')"""'        Literal.String.Delimiter
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'R_str'       Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'endl'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index cec14f10e6cfbbd567dfcffa988f5573430a9e5b..5b424bd80686e9eb0126ffced8f908feda5c9b98 100644 (file)
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'numerical'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
-'    '        Text
+'    '        Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
-'    '        Text
+'    '        Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '*'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '*'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '*'           Operator
 '*'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '*'           Operator
 '*'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '*'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '*'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'  '          Text
+'  '          Text.Whitespace
 '*'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'  '          Text
+'  '          Text.Whitespace
 '*'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'  '          Text
+'  '          Text.Whitespace
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'  '          Text
+'  '          Text.Whitespace
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '&'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '&'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '&'           Operator
 '&'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '&'           Operator
 '&'           Operator
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-'   '         Text
+'   '         Text.Whitespace
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '&'           Operator
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Names with namespaces\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'Type::contains' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'Type::contains' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'char'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'char'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'std::vector::contains' Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'char'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'std::vector::contains' Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'char'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'std::vector::contains' Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'char'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'explicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'std::vector::contains' Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'char'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// inside classes\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
 ' '           Text
 'raz'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'contains'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Make sure these are not functions:\n' Comment.Single
 
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'flag'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'func_call'   Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'T'           Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// so int is lexed as type and not function.name\n' Comment.Single
index d929cb03f98bfba9bae86fe98e84392e816d3fb4..03fd23788dace94b83dce5c1477947a02958edaf 100644 (file)
@@ -1,13 +1,13 @@
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ':'           Operator
 ':'           Operator
 ':'           Operator
 ':'           Operator
 'inner'       Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ':'           Operator
 ':'           Operator
 ':'           Operator
 ':'           Operator
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'innner'      Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ':'           Operator
 ':'           Operator
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'exprimental' Name.Namespace
 ':'           Operator
 ':'           Operator
 'innner'      Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'other'       Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'other'       Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ':'           Operator
 ':'           Operator
 'exprimental' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ':'           Operator
 ':'           Operator
 ':'           Operator
 ':'           Operator
 'inner'       Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
 ' '           Text
 'QualifiedName' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'QualifiedName' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'FlyString'   Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'local_name'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'FlyString'   Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'local_name'  Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'm_local_name' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'FlyString'   Name
-' '           Text
+' '           Text.Whitespace
 'm_local_name' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'  \n'        Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'ns'          Name.Namespace
 ':'           Operator
 ':'           Operator
 ':'           Operator
 ':'           Operator
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'pygments'    Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'outer'       Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'has_value'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'other'       Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'user'        Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'has_value'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'inner'       Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 3adf1eb8abfeedbe557c2f6b244859b5a6fc554f..8a8d8a16c9e77b190234303cd14492f410e70c31 100644 (file)
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'nothrow_t'   Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'nothrow_value' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'nothrow_t'   Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'nothrow_value' Name
 ')'           Punctuation
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'nothrow_t'   Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'nothrow_value' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'std'         Name
 ':'           Operator
 ':'           Operator
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ')'           Punctuation
 'noexcept'    Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 522c1a2cf9f80224a264b8dec1bceb6de2ce345d..0c4cf43d7f87c41603db4e3c12d8420a4e44bebf 100644 (file)
@@ -1,49 +1,49 @@
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<stdio.h>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// __device__ function\n' Comment.Single
 
 '__device__'  Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'func'        Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'short'       Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'array0'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'short'       Keyword.Type
 '*'           Operator
 ')'           Punctuation
 'array'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'float'       Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'array1'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 '*'           Operator
 '127'         Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* __global__ function */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '__global__'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reduction'   Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '__restrict__' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'input'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'output'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clock_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'timer'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// __shared__ float shared[2 * blockDim.x];\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'extern'      Keyword
-' '           Text
+' '           Text.Whitespace
 '__shared__'  Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'shared'      Name
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'threadIdx'   Name.Builtin
 '.'           Punctuation
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'bid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'blockIdx'    Name.Builtin
 '.'           Punctuation
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'threadIdx'   Name.Builtin
 '.'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '__threadfence' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// Perform reduction to find minimum.\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'blockDim'    Name.Builtin
 '.'           Punctuation
 'x'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '__syncthreads' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'argc'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '*'           Operator
 'argv'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dim3'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'dimBlock'    Name.Function
 '('           Punctuation
 '8'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'timedReduction' Name
 '<'           Operator
 '<'           Operator
 '<'           Operator
 'dimBlock'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '256'         Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '256'         Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '>'           Operator
 '>'           Operator
 '('           Punctuation
 'dinput'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'doutput'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'dtimer'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'cudaDeviceReset' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 48946bf96956ae250d106352ce6086d3f7d37bd8..a5b6b3fa1c87be00b953279e5250bea2602ef3a6 100644 (file)
@@ -39,7 +39,7 @@
 '\n\t\t'      Text
 'return'      Keyword
 ' '           Text
-'new'         Keyword
+'new'         Operator.Word
 ' '           Text
 'Date'        Name.Builtin
 '('           Punctuation
index 7091bbf7a239f7df49a92fa7edd96734428672ad..f2b51ce33ffbdae0f51bb2f1a4f0a8ed3f7ed6f8 100644 (file)
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'gui'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Window'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'AnchorValue' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'AnchorValueType' Name
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'union'       Keyword
 '\n   '       Text
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ';'           Punctuation
-'      \n   ' Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'property'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'get'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'property'    Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'get'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'double'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'OnGetString' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'fieldData'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%d'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'last'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%f'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'strlen'      Name
 '('           Punctuation
 'stringOutput' Name
 ')'           Punctuation
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'for'         Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' \n               ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
 'last'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Max'         Name
 '('           Punctuation
 'last'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '.'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'last'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 '+'           Operator
 '2'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'stringOutput' Name
 '['           Punctuation
 'last'        Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'needClass'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'needClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnGetDataFromString' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'end'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'strchr'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '.'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'end'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'         '   Text.Whitespace
+'\n'          Text.Whitespace
 
-'         \n         ' Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'this'        Name.Builtin
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'strtol'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'end'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'this'        Name.Builtin
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'MiddleAnchorValue' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'AnchorValueType' Name
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'union'       Keyword
 '\n   '       Text
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ';'           Punctuation
-'      \n   ' Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'property'    Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'get'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'property'    Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'get'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'double'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'OnGetString' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'fieldData'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'last'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%f'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'percent'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'strlen'      Name
 '('           Punctuation
 'stringOutput' Name
 ')'           Punctuation
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'for'         Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' \n               ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
 'last'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Max'         Name
 '('           Punctuation
 'last'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '.'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'last'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'stringOutput' Name
 '['           Punctuation
 'c'           Name
 '+'           Operator
 '2'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'stringOutput' Name
 '['           Punctuation
 'last'        Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%d'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'distance'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'needClass'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'needClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnGetDataFromString' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'strchr'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '.'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'strtol'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'AnchorValueType' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cascade'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vTiled'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hTiled'      Name
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'Anchor'      Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'union'       Keyword
 ' '           Text
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AnchorValue' Name
-' '           Text
+' '           Text.Whitespace
 'left'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'MiddleAnchorValue' Name
-' '           Text
+' '           Text.Whitespace
 'horz'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'union'       Keyword
 ' '           Text
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'AnchorValue' Name
-' '           Text
+' '           Text.Whitespace
 'top'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'MiddleAnchorValue' Name
-' '           Text
+' '           Text.Whitespace
 'vert'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'AnchorValue' Name
-' '           Text
+' '           Text.Whitespace
 'right'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bottom'      Name
 ';'           Punctuation
-'      \n\n   ' Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'OnGetString' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'fieldData'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '256'         Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'subNeedClass' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'left'        Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'subNeedClass' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'left = '     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
 '//if(((!left.type && !right.type) && horz.distance) || horz.type == middleRelative)\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '!'           Operator
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'horz'        Name
 '.'           Punctuation
 'distance'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'horz'        Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'subNeedClass' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'horz = '     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'top'         Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'subNeedClass' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'top = '      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'right'       Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'subNeedClass' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'right = '    Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '// if(((!top.type && !bottom.type) && vert.distance) || vert.type == middleRelative)\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '!'           Operator
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'vert'        Name
 '.'           Punctuation
 'distance'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vert'        Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'subNeedClass' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'vert = '     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bottom'      Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'subNeedClass' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'stringOutput' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', '          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'bottom = '   Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strcat'      Name
 '('           Punctuation
 'stringOutput' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'stringOutput' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnGetDataFromString' Name.Function
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'this'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
 ':'           Operator
 ':'           Operator
 'string'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnSaveEdit'  Name.Function
 '('           Punctuation
 'DropBox'     Name
-' '           Text
+' '           Text.Whitespace
 'dropBox'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'object'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'dropBox'     Name
 '.'           Punctuation
 'Save'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'OnEdit'      Name.Function
 '('           Punctuation
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'listBox'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'master'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'h'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'AnchorDropBox' Name
-' '           Text
+' '           Text.Whitespace
 'comboBox'    Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'editText'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'parent'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'listBox'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'master'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'master'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'position'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Point'       Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//clientSize = Size { h = h };\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 '//size.w = w;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'size'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'control'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'borderStyle' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
 'comboBox'    Name
 '.'           Punctuation
 'Create'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 'MAX_F_STRING' Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'needClass'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'result'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'comboBox'    Name
 '.'           Punctuation
 'contents'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'comboBox'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'AnchorButton' Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Button'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'toggle'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bevel'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnRedraw'    Name.Function
 '('           Punctuation
 'Surface'     Name
-' '           Text
+' '           Text.Whitespace
 'surface'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cw'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'clientSize'  Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'clientSize'  Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'SetForeground' Name
 'black'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'checked'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'SetBackground' Name
 '('           Punctuation
 'Color'       Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '85'          Literal.Number.Integer
 ','           Punctuation
 '85'          Literal.Number.Integer
 ','           Punctuation
 '85'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'Area'        Name
 ','           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cw'          Name
 '-1'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'LineStipple' Name
 '0xAAAA'      Literal.Number.Hex
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'Rectangle'   Name
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'active'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'LineStipple' Name
 '0xAAAA'      Literal.Number.Hex
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'Rectangle'   Name
 '-3'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'AnchorEditor::NotifyClicked' Name.Function
 '('           Punctuation
 'Button'      Name
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Modifiers'   Name
-' '           Text
+' '           Text.Whitespace
 'mods'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'AnchorDropBox' Name
-' '           Text
+' '           Text.Whitespace
 'anchorDropBox' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'AnchorDropBox' Name
 ')'           Punctuation
 'master'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'anchorValue' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'control'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'control'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'DataBox'     Name
-' '           Text
+' '           Text.Whitespace
 'dropMaster'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'DataBox'     Name
 ')'           Punctuation
 '.'           Punctuation
 'master'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'id'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 'id'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'type'        Name
-'   '         Text
+'   '         Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'type'        Name
-'    '        Text
+'    '        Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'type'        Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '//anchor.horz.type = none;\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 '//anchor.vert.type = none;\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
 'y'           Name
 ','           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'parent'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '// Fix Anchor\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'position'    Name
 '.'           Punctuation
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'position'    Name
 '.'           Punctuation
 'y'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'clientSize'  Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'clientSize'  Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'control'     Name
 '.'           Punctuation
 'nonClient'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '('           Punctuation
 '.'           Punctuation
 'fixed'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'control'     Name
 '.'           Punctuation
 'dontScrollHorz' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'w'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'control'     Name
 '.'           Punctuation
 'dontScrollVert' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'h'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//else if(anchor.right.type == relative) anchor.right.percent = (float) (x + w) / vpw;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (y + h) / vph;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'anchor'      Name
 '.'           Punctuation
 '.'           Punctuation
 'type'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//anchor.horz.type = anchor.horz.distance ? offset : 0;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'anchor'      Name
 '.'           Punctuation
 '.'           Punctuation
 'type'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//anchor.vert.type = anchor.vert.distance ? offset : 0;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 '('           Punctuation
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '1024'        Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'needClass'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'contents'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'dropMaster'  Name
 '.'           Punctuation
 'SetData'     Name
 '&'           Operator
 'anchor'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'AnchorRelButton' Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Button'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'toggle'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bevel'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'text'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '//bevelOver = true;\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnRedraw'    Name.Function
 '('           Punctuation
 'Surface'     Name
-' '           Text
+' '           Text.Whitespace
 'surface'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cw'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'clientSize'  Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'clientSize'  Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      \n      ' Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'checked'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'SetForeground' Name
 'black'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'SetForeground' Name
 '}'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'WriteText'   Name
 ','           Punctuation
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'active'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'LineStipple' Name
 '0xAAAA'      Literal.Number.Hex
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'surface'     Name
 '.'           Punctuation
 'Rectangle'   Name
 '-4'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'AnchorEditor::NotifyClicked' Name.Function
 '('           Punctuation
 'Button'      Name
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Modifiers'   Name
-' '           Text
+' '           Text.Whitespace
 'mods'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'AnchorDropBox' Name
-' '           Text
+' '           Text.Whitespace
 'anchorDropBox' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'AnchorDropBox' Name
 ')'           Punctuation
 'master'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'anchorValue' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'control'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'control'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'DataBox'     Name
-' '           Text
+' '           Text.Whitespace
 'dropMaster'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'DataBox'     Name
 ')'           Punctuation
 '.'           Punctuation
 'master'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'id'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '!'           Operator
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'anchor'      Name
 '.'           Punctuation
 '.'           Punctuation
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'button'      Name
 '.'           Punctuation
 'checked'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 '['           Punctuation
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 '%'           Operator
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '!'           Operator
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'anchor'      Name
 '.'           Punctuation
 '.'           Punctuation
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'button'      Name
 '.'           Punctuation
 'checked'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'relButtons'  Name
 '['           Punctuation
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 '%'           Operator
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 'id'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'type'        Name
-'   '         Text
+'   '         Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'type'        Name
-'   '         Text
+'   '         Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'type'        Name
-'    '        Text
+'    '        Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'type'        Name
-'    '        Text
+'    '        Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'type'        Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'type'        Name
-'  '          Text
+'  '          Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'buttons'     Name
 ']'           Punctuation
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'none'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
 'y'           Name
 ','           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'parent'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '// Fix Anchor\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'position'    Name
 '.'           Punctuation
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'position'    Name
 '.'           Punctuation
 'y'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'clientSize'  Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'clientSize'  Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'control'     Name
 '.'           Punctuation
 'nonClient'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'size'        Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '('           Punctuation
 '.'           Punctuation
 'fixed'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'control'     Name
 '.'           Punctuation
 'dontScrollHorz' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'w'           Name
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'control'     Name
 '.'           Punctuation
 'dontScrollVert' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'h'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'parent'      Name
 '.'           Punctuation
 'scrollArea'  Name
 '.'           Punctuation
 'h'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//else if(anchor.right.type == relative) anchor.right.percent = (float) (x + w) / vpw;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'offset'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (y + h) / vph;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'anchor'      Name
 '.'           Punctuation
 '.'           Punctuation
 'type'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//anchor.horz.type = anchor.horz.distance ? offset : none;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vpw'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vpw'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'anchor'      Name
 '.'           Punctuation
 '.'           Punctuation
 'type'        Name
 ')'           Punctuation
-' \n         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'distance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//anchor.vert.type = anchor.vert.distance ? offset : none;\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'percent'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float'       Keyword.Type
 ')'           Punctuation
 '('           Punctuation
 '('           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vph'         Name
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'vph'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '1024'        Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'needClass'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'contents'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'dropMaster'  Name
 '.'           Punctuation
 'SetData'     Name
 '&'           Operator
 'anchor'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorDropBox' Name
 '.'           Punctuation
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'AnchorEditor' Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'interim'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'borderStyle' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'deepContour' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'size'        Name
 '.'           Punctuation
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '92'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnKeyDown'   Name.Function
 '('           Punctuation
 'Key'         Name
-' '           Text
+' '           Text.Whitespace
 'key'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unichar'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'escape'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'master'      Name
 '.'           Punctuation
 'OnKeyDown'   Name
 '('           Punctuation
 'key'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'AnchorDropBox' Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'DropBox'     Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'control'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Button'      Name
-' '           Text
+' '           Text.Whitespace
 'relButtons'  Name
 '['           Punctuation
 '4'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buttons'     Name
 '['           Punctuation
 '4'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'AnchorEditor' Name
-' '           Text
+' '           Text.Whitespace
 'anchorEditor' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'master'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'autoCreate'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'OnDropDown'  Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Button'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchorEditor' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'left'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '28'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'top'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '28'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'right'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '28'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bottom'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '28'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'inactive'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'disabled'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '<'           Operator
 '4'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'Button'      Name
-' '           Text
+' '           Text.Whitespace
 'button'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'buttons'     Name
 '['           Punctuation
 'c'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'AnchorButton' Name
-' \n         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'         '   Text.Whitespace
 '{'           Punctuation
-' \n            ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'            ' Text.Whitespace
 'anchorEditor' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'size'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Size'        Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name
 '%'           Operator
 ':'           Operator
 '28'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name
 '%'           Operator
 '28'          Literal.Number.Integer
 ':'           Operator
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'Button'      Name
-' '           Text
+' '           Text.Whitespace
 'relButton'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relButtons'  Name
 '['           Punctuation
 'c'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'AnchorRelButton' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'anchorEditor' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 'c'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'left'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               \n               ' Text
+'               ' Text.Whitespace
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'left'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'left'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vert'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'top'         Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'top'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'top'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'horz'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ':'           Operator
-' \n               ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'right'       Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'horz'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
+'\n'          Text.Whitespace
 
-'               \n               ' Text
+'               ' Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'right'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'right'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vert'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ':'           Operator
-' \n               ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchorValue' Name
 'bottom'      Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relative'    Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'anchorValue' Name
 '.'           Punctuation
 'vert'        Name
 '.'           Punctuation
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'middleRelative' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'checked'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'button'      Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bottom'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'relButton'   Name
 '.'           Punctuation
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bottom'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'horz'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorEditor' Name
 '.'           Punctuation
 'Create'      Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'anchorEditor' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
 
-'      \n   ' Text
+'   '         Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnCloseDropDown' Name.Function
 '('           Punctuation
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'anchorEditor' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '// TOFIX: Patch for update bug\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'master'      Name
 '.'           Punctuation
 'Update'      Name
 'null'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'anchorEditor' Name
 '.'           Punctuation
 'Destroy'     Name
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'DataBox::NotifyTextEntry' Name.Function
 '('           Punctuation
 'AnchorDropBox' Name
-' '           Text
+' '           Text.Whitespace
 'dropBox'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'save'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Anchor'      Name
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'dropBox'     Name
 '.'           Punctuation
 'anchorValue' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Window'      Name
-' '           Text
+' '           Text.Whitespace
 'control'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'dropBox'     Name
 '.'           Punctuation
 'control'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'save'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'anchor'      Name
 'string'      Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'SetData'     Name
 '('           Punctuation
 '&'           Operator
 'anchor'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'dropBox'     Name
 '.'           Punctuation
 'anchorValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tempString'  Name
 '['           Punctuation
 '1024'        Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'needClass'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'OnGetString' Name
 '('           Punctuation
 'tempString'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'needClass'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'dropBox'     Name
 '.'           Punctuation
 'contents'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 9f018f4111566b2a72bb17d3455eaf6073aee526..430113b9eb41e3dddf3210a726ee1a2560f72871 100644 (file)
@@ -1,20 +1,20 @@
 '/* A Bison parser, made by GNU Bison 2.0.  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Skeleton parser for Yacc-like parsing with Bison,\n   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.\n\n   This program is free software; you can redistribute it and/or modify\n   it under the terms of the GNU General Public License as published by\n   the Free Software Foundation; either version 2, or (at your option)\n   any later version.\n\n   This program is distributed in the hope that it will be useful,\n   but WITHOUT ANY WARRANTY; without even the implied warranty of\n   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n   GNU General Public License for more details.\n\n   You should have received a copy of the GNU General Public License\n   along with this program; if not, write to the Free Software\n   Foundation, Inc., 59 Temple Place - Suite 330,\n   Boston, MA 02111-1307, USA.  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* As a special exception, when this file is copied by Bison into a\n   Bison output file, you may use that output file without restriction.\n   This special exception was added by the Free Software Foundation\n   in version 1.24 of Bison.  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Tokens.  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifndef YYTOKENTYPE' Comment.Preproc
 ' define YYTOKENTYPE' Comment.Preproc
 '\n'          Comment.Preproc
 
-'   '         Text
+'   '         Text.Whitespace
 '/* Put the tokens into the symbol table, so that GDB and other debuggers\n      know about them.  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'yytokentype' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'IDENTIFIER'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '258'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CONSTANT'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '259'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'STRING_LITERAL' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '260'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SIZEOF'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '261'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'PTR_OP'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '262'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'INC_OP'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '263'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DEC_OP'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '264'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'LEFT_OP'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '265'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'RIGHT_OP'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '266'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'LE_OP'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '267'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'GE_OP'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '268'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'EQ_OP'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '269'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'NE_OP'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '270'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'AND_OP'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '271'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'OR_OP'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '272'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'MUL_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '273'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DIV_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '274'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'MOD_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '275'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ADD_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '276'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SUB_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '277'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'LEFT_ASSIGN' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '278'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'RIGHT_ASSIGN' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '279'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'AND_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '280'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'XOR_ASSIGN'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '281'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'OR_ASSIGN'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '282'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'TYPE_NAME'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '283'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'TYPEDEF'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '284'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'EXTERN'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '285'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'STATIC'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '286'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'AUTO'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '287'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'REGISTER'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '288'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CHAR'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '289'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SHORT'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '290'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'INT'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '291'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'UINT'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '292'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'INT64'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '293'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'LONG'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '294'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SIGNED'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '295'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'UNSIGNED'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '296'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'FLOAT'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '297'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DOUBLE'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '298'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CONST'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '299'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'VOLATILE'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '300'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'VOID'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '301'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'VALIST'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '302'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'STRUCT'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '303'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'UNION'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '304'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ENUM'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '305'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ELLIPSIS'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '306'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CASE'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '307'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DEFAULT'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '308'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'IF'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '309'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SWITCH'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '310'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'WHILE'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '311'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DO'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '312'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'FOR'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '313'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'GOTO'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '314'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CONTINUE'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '315'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'BREAK'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '316'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'RETURN'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '317'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'IFX'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '318'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ELSE'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '319'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '320'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'THISCLASS'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '321'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_NAME'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '322'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'PROPERTY'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '323'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SETPROP'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '324'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'GETPROP'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '325'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'NEWOP'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '326'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'RENEW'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '327'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DELETE'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '328'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'EXT_DECL'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '329'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'EXT_STORAGE' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '330'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'IMPORT'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '331'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DEFINE'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '332'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'VIRTUAL'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '333'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'EXT_ATTRIB'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '334'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'PUBLIC'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '335'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'PRIVATE'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '336'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'TYPED_OBJECT' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '337'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ANY_OBJECT'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '338'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '_INCREF'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '339'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'EXTENSION'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '340'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ASM'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '341'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'TYPEOF'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '342'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'WATCH'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '343'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'STOPWATCHING' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '344'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'FIREWATCHERS' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '345'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'WATCHABLE'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '346'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_DESIGNER' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '347'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_NO_EXPANSION' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '348'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_FIXED' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '349'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'ISPROPSET'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '350'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_DEFAULT_PROPERTY' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '351'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'PROPERTY_CATEGORY' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '352'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_DATA'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '353'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'CLASS_PROPERTY' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '354'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SUBCLASS'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '355'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'NAMESPACE'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '356'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'NEW0OP'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '357'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'RENEW0'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '358'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'VAARG'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '359'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DBTABLE'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '360'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DBFIELD'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '361'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DBINDEX'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '362'         Literal.Number.Integer
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'DATABASE_OPEN' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '363'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 'define DATABASE_OPEN 363' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)' Comment.Preproc
 '\n'          Comment.Preproc
 
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'union'       Keyword
 ' '           Text
 'YYSTYPE'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'SpecifierType' Name
-' '           Text
+' '           Text.Whitespace
 'specifierType' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'AccessMode'  Name
-' '           Text
+' '           Text.Whitespace
 'declMode'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Identifier'  Name
-' '           Text
+' '           Text.Whitespace
 'id'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Expression'  Name
-' '           Text
+' '           Text.Whitespace
 'exp'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Specifier'   Name
-' '           Text
+' '           Text.Whitespace
 'specifier'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'OldList'     Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Enumerator'  Name
-' '           Text
+' '           Text.Whitespace
 'enumerator'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Declarator'  Name
-' '           Text
+' '           Text.Whitespace
 'declarator'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Pointer'     Name
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Initializer' Name
-' '           Text
+' '           Text.Whitespace
 'initializer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'InitDeclarator' Name
-' '           Text
+' '           Text.Whitespace
 'initDeclarator' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'TypeName'    Name
-' '           Text
+' '           Text.Whitespace
 'typeName'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Declaration' Name
-' '           Text
+' '           Text.Whitespace
 'declaration' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Statement'   Name
-' '           Text
+' '           Text.Whitespace
 'stmt'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FunctionDefinition' Name
-' '           Text
+' '           Text.Whitespace
 'function'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'External'    Name
-' '           Text
+' '           Text.Whitespace
 'external'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Context'     Name
-' '           Text
+' '           Text.Whitespace
 'context'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'AsmField'    Name
-' '           Text
+' '           Text.Whitespace
 'asmField'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Instantiation' Name
-' '           Text
+' '           Text.Whitespace
 'instance'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'MembersInit' Name
-' '           Text
+' '           Text.Whitespace
 'membersInit' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'MemberInit'  Name
-' '           Text
+' '           Text.Whitespace
 'memberInit'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'ClassFunction' Name
-' '           Text
+' '           Text.Whitespace
 'classFunction' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'ClassDefinition' Name
-' '           Text
+' '           Text.Whitespace
 '_class'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'ClassDef'    Name
-' '           Text
+' '           Text.Whitespace
 'classDef'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'PropertyDef' Name
-' '           Text
+' '           Text.Whitespace
 'prop'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Symbol'      Name
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'PropertyWatch' Name
-' '           Text
+' '           Text.Whitespace
 'propertyWatch' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'TemplateParameter' Name
-' '           Text
+' '           Text.Whitespace
 'templateParameter' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'TemplateArgument' Name
-' '           Text
+' '           Text.Whitespace
 'templateArgument' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'TemplateDatatype' Name
-' '           Text
+' '           Text.Whitespace
 'templateDatatype' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
+'\n'          Text.Whitespace
 
-'   \n   '    Text
+'   '         Text.Whitespace
 'DBTableEntry' Name
-' '           Text
+' '           Text.Whitespace
 'dbtableEntry' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'DBIndexItem' Name
-' '           Text
+' '           Text.Whitespace
 'dbindexItem' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'DBTableDef'  Name
-' '           Text
+' '           Text.Whitespace
 'dbtableDef'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'YYSTYPE'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Line 1318 of yacc.c.  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'line 293 "grammar.eh"' Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extern'      Keyword
-' '           Text
+' '           Text.Whitespace
 'YYSTYPE'     Name
-' '           Text
+' '           Text.Whitespace
 'yylval'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED)' Comment.Preproc
 '\n'          Comment.Preproc
 
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'YYLTYPE'     Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'first_line'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'first_column' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'last_line'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'last_column' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'YYLTYPE'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 ' define yyltype YYLTYPE ' Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extern'      Keyword
-' '           Text
+' '           Text.Whitespace
 'YYLTYPE'     Name
-' '           Text
+' '           Text.Whitespace
 'yylloc'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 5f2821ada2bf52a667e5b5d0d5441103297e3f03..0f797e8407498269d20c04ca09063d70ac964227 100644 (file)
@@ -5,7 +5,7 @@
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'view-quote'  Name.Variable
 ' '           Text
 '['           Punctuation
@@ -33,7 +33,7 @@
 '\n\n'        Text
 
 '('           Punctuation
-'local '      Keyword
+'local '      Keyword.Declaration
 'short-control-char-escapes' Name.Variable
 '\n       '   Text
 '{'           Punctuation
@@ -69,7 +69,7 @@
 '\n\n'        Text
 
 '('           Punctuation
-'local '      Keyword
+'local '      Keyword.Declaration
 'long-control-char-escapes' Name.Variable
 '\n       '   Text
 '('           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'escape'      Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'sequence-key?' Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'local '      Keyword
+'local '      Keyword.Declaration
 'type-order'  Name.Variable
 ' '           Text
 '{'           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'sort-keys'   Name.Variable
 ' '           Text
 '['           Punctuation
 '\n              ' Text
 'dta'         Name.Variable
 ' '           Text
-'true'        Name.Variable
+'true'        Name.Constant
 '\n              ' Text
 'dtb'         Name.Variable
 ' '           Text
-'false'       Name.Variable
+'false'       Name.Constant
 '\n              ' Text
 ':else'       Literal.String.Symbol
 ' '           Text
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'get-sequence-length' Name.Variable
 ' '           Text
 '['           Punctuation
 ']'           Punctuation
 '\n  '        Text
 '('           Punctuation
-'var '        Keyword
+'var '        Keyword.Declaration
 'len'         Name.Variable
 ' '           Text
 '1'           Literal.Number.Integer
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'get-nonsequential-keys' Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'count-table-appearances' Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n\x0c\n\n' Text
 
 '('           Punctuation
-'var '        Keyword
+'var '        Keyword.Declaration
 'put-value'   Name.Variable
 ' '           Text
-'nil'         Name.Variable
+'nil'         Name.Constant
 ')'           Punctuation
 ' '           Text
 '; mutual recursion going on; defined below' Comment.Single
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'puts'        Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'tabify'      Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'already-visited?' Name.Variable
 ' '           Text
 '['           Punctuation
 'v'           Name.Variable
 ')'           Punctuation
 ' '           Text
-'nil'         Name.Variable
+'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'get-id'      Name.Variable
 ' '           Text
 '['           Punctuation
 ']'           Punctuation
 '\n  '        Text
 '('           Punctuation
-'var '        Keyword
+'var '        Keyword.Declaration
 'id'          Name.Variable
 ' '           Text
 '('           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'put-sequential-table' Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'put-key'     Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'put-kv-table' Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'put-table'   Name.Variable
 ' '           Text
 '['           Punctuation
 'put-value'   Name.Variable
 ' '           Text
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 '['           Punctuation
 'self'        Name.Variable
 ' '           Text
 '\n\n\x0c\n\n' Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'one-line'    Name.Variable
 ' '           Text
 '['           Punctuation
 '\n\n'        Text
 
 '('           Punctuation
-'fn '         Keyword
+'fn '         Keyword.Declaration
 'fennelview'  Name.Variable
 ' '           Text
 '['           Punctuation
 'not '        Keyword
 '('           Punctuation
 '= '          Keyword
-'false '      Keyword
+'false'       Name.Constant
+' '           Text
 'options.detect-cycles?' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 'not '        Keyword
 '('           Punctuation
 '= '          Keyword
-'false '      Keyword
+'false'       Name.Constant
+' '           Text
 'options.metamethod?' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 'not= '       Keyword
 'options.table-edges' Name.Variable
 ' '           Text
-'false'       Name.Variable
+'false'       Name.Constant
 ')'           Punctuation
 '\n                   ' Text
 ':empty-as-square' Literal.String.Symbol
index 47e11559d2918107ebeebc4584103856370f49bc..b77a0bc9b60d53d818aafc173d7df30b5cf2bd07 100644 (file)
@@ -1,7 +1,7 @@
-'#example mission box1.flo' Comment.Singleline
+'#example mission box1.flo' Comment.Single
 '\n'          Text
 
-'#from: https://github.com/ioflo/ioflo' Comment.Singleline
+'#from: https://github.com/ioflo/ioflo' Comment.Single
 '\n'          Text
 
 '\n'          Text
index 9726cf8f8cbf1eba3d9f94567542495d24805d67..3ed762eadf70e8595155aa7bcf0334d4eb194b2a 100644 (file)
@@ -1,6 +1,6 @@
 '// Example of problem solving in parallel\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Usage:\n' Comment.Single
 
@@ -8,19 +8,19 @@
 
 '// Need FreeFem++ with PETSc\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Parallel stuff\n' Comment.Single
 
 'load'        Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'PETSc'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'macro'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'partitioner' Name
 '('           Punctuation
 ')'           Punctuation
@@ -28,7 +28,7 @@
 '//\n'        Comment.Single
 
 'macro'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'dimension'   Name
 '('           Punctuation
 ')'           Punctuation
 '//\n'        Comment.Single
 
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 './macro_ddm.idp' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'macro'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'def'         Name
 '('           Punctuation
 'i'           Name
@@ -56,7 +56,7 @@
 '//\n'        Comment.Single
 
 'macro'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'init'        Keyword.Pseudo
 '('           Punctuation
 'i'           Name
 
 '//macro intN()int2d//\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Parameters\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nn'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '500'         Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'real'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'L'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1.'          Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'real'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'H'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1.'          Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'func'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1.'          Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'func'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Pk'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'P1'          Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Mesh\n'   Comment.Single
 
 'border'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b1'          Name.Function
 '('           Punctuation
 't'           Keyword.Pseudo
 '='           Operator
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'L'           Name
 ')'           Punctuation
 '{'           Punctuation
 '='           Operator
 't'           Keyword.Pseudo
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Keyword.Reserved
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'label'       Keyword.Reserved
 '='           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'border'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b2'          Name.Function
 '('           Punctuation
 't'           Keyword.Pseudo
 '='           Operator
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'H'           Name
 ')'           Punctuation
 '{'           Punctuation
 '='           Operator
 'L'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Keyword.Reserved
 '='           Operator
 't'           Keyword.Pseudo
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'label'       Keyword.Reserved
 '='           Operator
 '2'           Literal.Number.Integer
 ';'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'border'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b3'          Name.Function
 '('           Punctuation
 't'           Keyword.Pseudo
 '='           Operator
 'L'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 '{'           Punctuation
 '='           Operator
 't'           Keyword.Pseudo
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Keyword.Reserved
 '='           Operator
 'H'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'label'       Keyword.Reserved
 '='           Operator
 '3'           Literal.Number.Integer
 ';'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'border'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b4'          Name.Function
 '('           Punctuation
 't'           Keyword.Pseudo
 '='           Operator
 'H'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 '{'           Punctuation
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Keyword.Reserved
 '='           Operator
 't'           Keyword.Pseudo
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'label'       Keyword.Reserved
 '='           Operator
 '4'           Literal.Number.Integer
 ';'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'meshN'       Name
-' '           Text
+' '           Text.Whitespace
 'Th'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'buildmesh'   Name.Function
 '('           Punctuation
 'b1'          Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b2'          Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b3'          Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b4'          Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//build a really coarse mesh (just to build the fespace later)\n' Comment.Single
 
 '//meshN Th = square(1, 1, [L*x, H*y]);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
 '['           Punctuation
 'int'         Keyword.Type
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Wall'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Fespace\n' Comment.Single
 
 'fespace'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Uh'          Name.Function
 '('           Punctuation
 'Th'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Pk'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Mesh partition\n' Comment.Single
 
 '['           Punctuation
 'int'         Keyword.Type
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ArrayIntersection' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
 '['           Punctuation
 '['           Punctuation
 'int'         Keyword.Type
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RestrictionIntersection' Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'real'        Keyword.Type
 '['           Punctuation
 'int'         Keyword.Type
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'D'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'meshN'       Name
-' '           Text
+' '           Text.Whitespace
 'ThBorder'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'meshN'       Name
-' '           Text
+' '           Text.Whitespace
 'ThGlobal'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'buildmesh'   Name.Function
 '('           Punctuation
 'b1'          Name
 '*'           Operator
 'L'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b2'          Name
 '('           Punctuation
 'nn'          Name
 '*'           Operator
 'H'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b3'          Name
 '('           Punctuation
 'nn'          Name
 '*'           Operator
 'L'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b4'          Name
 '('           Punctuation
 'nn'          Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//build the mesh to partition\n' Comment.Single
 
 '//meshN ThGlobal = square(nn*L, nn*H, [L*x, H*y]);\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'InterfaceLabel' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Split'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Overlap'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'build'       Name
 '('           Punctuation
 'Th'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ThBorder'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ThGlobal'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'InterfaceLabel' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Split'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Overlap'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'D'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ArrayIntersection' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RestrictionIntersection' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Uh'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Pk'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mpiCommWorld' Keyword.Reserved
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Reserved
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//see macro_ddm.idp for detailed parameters\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Macro\n'  Comment.Single
 
 'macro'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'grad'        Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'dx'          Name.Function
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'dy'          Name.Function
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '//\n'        Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Problem\n' Comment.Single
 
 'varf'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'vLaplacian'  Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uh'          Name
 ')'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//Problem in varf formulation mandatory\n' Comment.Single
 
-'\t'          Text
+'\t'          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'intN'        Name
 '('           Punctuation
 'Th'          Name
 ')'           Punctuation
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t  '      Text
+'\t\t  '      Text.Whitespace
 'grad'        Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'grad'        Name
 '('           Punctuation
 'uh'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'intN'        Name
 '('           Punctuation
 'Th'          Name
 ')'           Punctuation
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t  '      Text
+'\t\t  '      Text.Whitespace
 'f'           Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'uh'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'on'          Name.Function
 '('           Punctuation
 'Wall'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'matrix'      Keyword.Type
 '<'           Operator
 'real'        Keyword.Type
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'Laplacian'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vLaplacian'  Name
 '('           Punctuation
 'Uh'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Uh'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//build the sequential matrix\n' Comment.Single
 
 'real'        Keyword.Type
 '['           Punctuation
 'int'         Keyword.Type
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LaplacianBoundary' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'vLaplacian'  Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Uh'          Name
 ')'           Punctuation
 ';'           Punctuation
 '// and right hand side\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//// In sequential, you normally do that:\n' Comment.Single
 
 
 '//u[] = Laplacian^-1 * LaplacianBoundary;\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//// Plot\n' Comment.Single
 
 '//plot(u);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// In parallel:\n' Comment.Single
 
 '// Matrix construction\n' Comment.Single
 
 'dmatrix'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'PLaplacian'  Name.Function
 '('           Punctuation
 'Laplacian'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ArrayIntersection' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'RestrictionIntersection' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'D'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bs'          Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//build the parallel matrix\n' Comment.Single
 
 'set'         Name.Function
 '('           Punctuation
 'PLaplacian'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sparams'     Keyword.Pseudo
 '='           Operator
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//preconditioner LU and MUMPS solver (see PETSc doc for detailed parameters)\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Solve\n'  Comment.Single
 
 'Uh'          Name
-' '           Text
+' '           Text.Whitespace
 'def'         Name.Function
 '('           Punctuation
 'u'           Name
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '//define the unknown (must be defined after mesh partitioning)\n' Comment.Single
 
 'u'           Name
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'PLaplacian'  Name
 '^'           Operator
 '-1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'LaplacianBoundary' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Export results to vtk (there is not plot in parallel)\n' Comment.Single
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fespace'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'PV'          Name.Function
 '('           Punctuation
 'Th'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'P1'          Name.Class
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'PV'          Name
-' '           Text
+' '           Text.Whitespace
 'uu'          Name
 '='           Operator
 'u'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
 '['           Punctuation
 'int'         Keyword.Type
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Order'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'export'      Keyword
 '('           Punctuation
 '"'           Literal.String
 'Result'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Th'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uu'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Order'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mpiCommWorld' Keyword.Reserved
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/gsql/test.gsql b/tests/examplefiles/gsql/test.gsql
new file mode 100755 (executable)
index 0000000..c65ab93
--- /dev/null
@@ -0,0 +1,223 @@
+CREATE QUERY Member_Likeness(VERTEX <motionMember> m1, STRING inDate) FOR GRAPH motionData { 
+       # TYPEDEF TUPLE <x FLOAT, y FLOAT> XYPair;
+       MapAccum<VERTEX<motionMember>, MapAccum<STRING, FLOAT>> @@likenessAccum;
+       MapAccum<VERTEX<motionMember>, FLOAT> @@BirthYearAccum;
+       MapAccum<VERTEX<motionMember>, FLOAT> @@HeightAccum;
+       MapAccum<VERTEX<motionMember>, FLOAT> @@WeightAccum;
+       ListAccum<VERTEX<location>> @@MemLocAccum;
+       MapAccum<VERTEX<motionMember>, FLOAT> @@LocAccum;
+       MapAccum<VERTEX<motionMember>, BagAccum<VERTEX<incentive>>> @@DayIncentives;
+       MapAccum<VERTEX<motionMember>, MapAccum<STRING, FLOAT>> @@MemberStats;
+       BagAccum<VERTEX<incentive>> @MemberIncentives;
+       AvgAccum @@StepsAccum;
+       AvgAccum @@BoutsAccum;
+       AvgAccum @@MilesAccum;
+       
+       # Universal Vars
+       INT lastMax = 0;
+       INT lastMin = 1000;
+       FLOAT mult;
+       
+       # Age Vars
+       INT ageRange;
+       INT birthYear;
+       
+       # Height Vars
+       INT heightRange;
+       INT height;
+       
+       # Height Vars
+       INT weightRange;
+       INT weight;
+       
+       # Location Vars
+       FLOAT locRange;
+       VERTEX memLoc;
+       
+       # Activity Vars
+       DATETIME lastRecording;
+       
+       # lastRecording = to_datetime("2018-05-19");
+       lastRecording = to_datetime(inDate);
+
+    /*
+
+    test comment block 
+
+    */
+       
+       
+       members = {motionMember.*};
+       
+       birthYear = Get_Birth_Year(m1);
+       height = m1.Height;
+       weight = m1.Weight;
+       temp = SELECT loc FROM members:member -(:e) - location: loc
+         WHERE member == m1
+           ACCUM 
+             @@MemLocAccum += loc;
+       FOREACH loc in @@MemLocAccum DO
+         memLoc = loc;
+         END;
+         
+       PRINT memLoc;
+       PRINT birthYear;
+       PRINT height;
+       PRINT weight;
+       
+       results = SELECT member FROM members:member
+         ACCUM 
+           @@BirthYearAccum += (member -> abs(Get_Birth_Year(member) - birthYear));
+       
+       FOREACH (member,bys) in @@BirthYearAccum DO
+         IF bys > lastMax THEN
+           lastMax = bys;
+           END;
+         IF bys < lastMin THEN
+           lastMin = bys;
+           END;
+         END;
+       
+       ageRange = lastMax - lastMin;
+       print ageRange;
+       mult = 1.0/ageRange;
+       
+       
+       FOREACH (member,bys) in @@BirthYearAccum DO
+         bys = 1 - bys * mult;
+         @@likenessAccum += (member -> ("age" -> bys));
+         END;
+       
+       lastMax = 0;
+       lastMin = 1000;
+       mult = 0;
+       
+       results = SELECT member FROM members:member
+         ACCUM 
+           @@HeightAccum += (member -> abs(member.Height - height));
+       
+       FOREACH (member,heights) in @@HeightAccum DO
+         IF heights < height THEN
+           IF heights > lastMax THEN
+             lastMax = heights;
+             END;
+           IF heights < lastMin THEN
+             lastMin = heights;
+             END;
+           END;
+         END;
+       
+       heightRange = lastMax - lastMin;
+       print heightRange;
+       mult = 1.0/heightRange;
+       
+       
+       FOREACH (member,heights) in @@HeightAccum DO
+         IF heights < height THEN
+           heights = 1 - heights * mult;
+         ELSE
+           heights = 0;
+           END;
+         @@likenessAccum += (member -> ("height" -> heights));
+         END;
+       
+       lastMax = 0;
+       lastMin = 1000;
+       mult = 0;
+       
+       results = SELECT member FROM members:member
+         ACCUM 
+           @@WeightAccum += (member -> abs(member.Weight - weight));
+       
+       FOREACH (member,weights) in @@WeightAccum DO
+         IF weights < weight THEN
+           IF weights > lastMax THEN
+             lastMax = weights;
+             END;
+           IF weights < lastMin THEN
+             lastMin = weights;
+             END;
+           END;
+         END;
+       
+       weightRange = lastMax - lastMin;
+       print weightRange;
+       mult = 1.0/weightRange;
+       
+       
+       FOREACH (member,weights) in @@WeightAccum DO
+         IF weights < weight THEN
+           weights = 1 - weights * mult;
+         ELSE
+           weights = 0;
+           END;
+         @@likenessAccum += (member -> ("weight" -> weights));
+         END;
+       
+       lastMax = 0;
+       lastMin = 1000;
+       mult = 0;
+       
+       resultsLoc = SELECT loc FROM members:member -(:e) - location: loc
+         ACCUM 
+           @@LocAccum += (member -> Check_Distance(loc,memLoc));
+       FOREACH (member,loc) in @@LocAccum DO
+         IF loc < 5800 THEN
+           IF loc > lastMax THEN
+             lastMax = ceil(loc);
+             END;
+           IF loc < lastMin THEN
+             lastMin = floor(loc);
+             END;
+           END;
+         END;
+       
+       PRINT lastMax;
+       PRINT lastMin;
+       
+       locRange = lastMax - lastMin;
+       print locRange;
+       mult = 1.0/locRange;
+       
+       FOREACH (member,loc) in @@LocAccum DO
+         IF loc > 5800 THEN
+           loc = -1;
+         ELSE
+           loc = 1 - loc * mult;
+           END;
+         @@likenessAccum += (member -> ("distance" -> loc));
+         END;
+       
+       lastMax = 0;
+       lastMin = 1000;
+       mult = 0;
+       
+       incentives = {incentive.*};
+       
+       incentives = SELECT incent FROM incentives:incent - (:e) - lookupRule:rule WHERE
+         rule.RuleName == "Tenacity" AND incent.IncentiveDate > datetime_sub(lastRecording, INTERVAL 1 MONTH) AND incent.IncentiveDate < lastRecording;
+       
+       members = SELECT member FROM incentives:incent - (:e) - motionMember:member
+         ACCUM
+           @@DayIncentives += (member -> (incent));
+       
+       FOREACH (member, incent) IN @@DayIncentives DO
+         @@StepsAccum = 0;
+         FOREACH Incentive IN incent DO
+             @@StepsAccum += Incentive.TotalSteps;
+             @@BoutsAccum += Incentive.TotalBouts;
+             @@MilesAccum += Incentive.Miles;
+           END;
+         @@MemberStats += (member -> ("stepsAvg" -> @@StepsAccum));
+         @@MemberStats += (member -> ("stepsSlope" -> Linear_Regression(incent, 1)));
+         # @@MemberStats += (member -> ("boutsAvg" -> @@BoutsAccum));
+         # @@MemberStats += (member -> ("boutsSlope" -> Linear_Regression(incent, 2)));
+         @@MemberStats += (member -> ("milesAvg" -> @@MilesAccum));
+         @@MemberStats += (member -> ("milesSlope" -> Linear_Regression(incent, 3)));
+         END;
+       
+       
+       PRINT @@MemberStats;
+       PRINT @@likenessAccum;
+       
+}
\ No newline at end of file
diff --git a/tests/examplefiles/gsql/test.gsql.output b/tests/examplefiles/gsql/test.gsql.output
new file mode 100644 (file)
index 0000000..12f7ba0
--- /dev/null
@@ -0,0 +1,1503 @@
+'CREATE'      Keyword
+' '           Text.Whitespace
+'QUERY'       Keyword
+' '           Text.Whitespace
+'Member_Likeness' Name
+'('           Operator
+'VERTEX'      Keyword
+' '           Text.Whitespace
+'<motionMember>' Name.Constant
+' '           Text.Whitespace
+'m1'          Name
+','           Operator
+' '           Text.Whitespace
+'STRING'      Keyword
+' '           Text.Whitespace
+'inDate'      Name
+')'           Operator
+' '           Text.Whitespace
+'FOR'         Keyword
+' '           Text.Whitespace
+'GRAPH'       Keyword
+' '           Text.Whitespace
+'motionData'  Name
+' '           Text.Whitespace
+'{'           Punctuation
+' \n\t'       Text.Whitespace
+'# TYPEDEF TUPLE <x FLOAT, y FLOAT> XYPair;\n' Comment.Single
+
+'\t'          Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>' Name.Constant
+','           Operator
+' '           Text.Whitespace
+'MapAccum'    Name.Builtin
+'<STRING, FLOAT>>' Name.Constant
+' '           Text.Whitespace
+'@@likenessAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' '           Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' '           Text.Whitespace
+'@@HeightAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' '           Text.Whitespace
+'@@WeightAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'ListAccum'   Name.Builtin
+'<VERTEX<location>>' Name.Constant
+' '           Text.Whitespace
+'@@MemLocAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' '           Text.Whitespace
+'@@LocAccum'  Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>' Name.Constant
+','           Operator
+' '           Text.Whitespace
+'BagAccum'    Name.Builtin
+'<VERTEX<incentive>>>' Name.Constant
+' '           Text.Whitespace
+'@@DayIncentives' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'MapAccum'    Name.Builtin
+'<VERTEX<motionMember>' Name.Constant
+','           Operator
+' '           Text.Whitespace
+'MapAccum'    Name.Builtin
+'<STRING, FLOAT>>' Name.Constant
+' '           Text.Whitespace
+'@@MemberStats' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'BagAccum'    Name.Builtin
+'<VERTEX<incentive>>' Name.Constant
+' '           Text.Whitespace
+'@MemberIncentives' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'AvgAccum'    Name.Builtin
+' '           Text.Whitespace
+'@@StepsAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'AvgAccum'    Name.Builtin
+' '           Text.Whitespace
+'@@BoutsAccum' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'AvgAccum'    Name.Builtin
+' '           Text.Whitespace
+'@@MilesAccum' Name.Variable
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# Universal Vars\n' Comment.Single
+
+'\t'          Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1000'        Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'FLOAT'       Keyword
+' '           Text.Whitespace
+'mult'        Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# Age Vars\n' Comment.Single
+
+'\t'          Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'ageRange'    Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'birthYear'   Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# Height Vars\n' Comment.Single
+
+'\t'          Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'heightRange' Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'height'      Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# Height Vars\n' Comment.Single
+
+'\t'          Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'weightRange' Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'INT'         Keyword
+' '           Text.Whitespace
+'weight'      Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# Location Vars\n' Comment.Single
+
+'\t'          Text.Whitespace
+'FLOAT'       Keyword
+' '           Text.Whitespace
+'locRange'    Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'VERTEX'      Keyword
+' '           Text.Whitespace
+'memLoc'      Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# Activity Vars\n' Comment.Single
+
+'\t'          Text.Whitespace
+'DATETIME'    Keyword
+' '           Text.Whitespace
+'lastRecording' Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'# lastRecording = to_datetime("2018-05-19");\n' Comment.Single
+
+'\t'          Text.Whitespace
+'lastRecording' Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'to_datetime' Keyword
+'('           Operator
+'inDate'      Name
+')'           Operator
+';'           Operator
+'\n\n    '    Text.Whitespace
+'/*\n\n    test comment block \n\n    */' Comment.Multiline
+'\n\t\n\t\n\t' Text.Whitespace
+'members'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'motionMember' Name
+'.'           Punctuation
+'*'           Punctuation
+'}'           Punctuation
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'birthYear'   Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'Get_Birth_Year' Name
+'('           Operator
+'m1'          Name
+')'           Operator
+';'           Operator
+'\n\t'        Text.Whitespace
+'height'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'m1'          Name
+'.'           Punctuation
+'Height'      Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'weight'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'m1'          Name
+'.'           Punctuation
+'Weight'      Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'temp'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'members'     Name
+':'           Operator
+'member'      Name
+' '           Text.Whitespace
+'-'           Operator
+'('           Operator
+':'           Operator
+'e'           Name
+')'           Operator
+' -'          Operator
+' '           Text.Whitespace
+'location'    Name
+':'           Operator
+' '           Text.Whitespace
+'loc'         Name
+'\n\t  '      Text.Whitespace
+'WHERE'       Keyword
+' '           Text.Whitespace
+'member'      Name
+' '           Text.Whitespace
+'== '         Operator
+'m1'          Name
+'\n\t    '    Text.Whitespace
+'ACCUM'       Keyword
+' \n\t      ' Text.Whitespace
+'@@MemLocAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'loc'         Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@MemLocAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'memLoc'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'loc'         Name
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  \n\t'  Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'memLoc'      Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'birthYear'   Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'height'      Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'weight'      Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'results'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'member'      Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'members'     Name
+':'           Operator
+'member'      Name
+'\n\t  '      Text.Whitespace
+'ACCUM'       Keyword
+' \n\t    '   Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'abs'         Name
+'('           Operator
+'Get_Birth_Year' Name
+'('           Operator
+'member'      Name
+')'           Operator
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'birthYear'   Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'bys'         Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'bys'         Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'bys'         Name
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'bys'         Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'bys'         Name
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'ageRange'    Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'print'       Keyword
+' '           Text.Whitespace
+'ageRange'    Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1.0'         Literal.Number
+'/'           Operator
+'ageRange'    Name
+';'           Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'bys'         Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'bys'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'bys'         Name
+' '           Text.Whitespace
+'*'           Punctuation
+' '           Text.Whitespace
+'mult'        Name
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@likenessAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"age"'       Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'bys'         Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1000'        Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'results'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'member'      Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'members'     Name
+':'           Operator
+'member'      Name
+'\n\t  '      Text.Whitespace
+'ACCUM'       Keyword
+' \n\t    '   Text.Whitespace
+'@@HeightAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'abs'         Name
+'('           Operator
+'member'      Name
+'.'           Punctuation
+'Height'      Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'height'      Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'heights'     Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@HeightAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'height'      Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t      '  Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'heights'     Name
+';'           Operator
+'\n\t      '  Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t    '    Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t      '  Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'heights'     Name
+';'           Operator
+'\n\t      '  Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'heightRange' Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'print'       Keyword
+' '           Text.Whitespace
+'heightRange' Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1.0'         Literal.Number
+'/'           Operator
+'heightRange' Name
+';'           Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'heights'     Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@HeightAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'height'      Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'*'           Punctuation
+' '           Text.Whitespace
+'mult'        Name
+';'           Operator
+'\n\t  '      Text.Whitespace
+'ELSE'        Keyword
+'\n\t    '    Text.Whitespace
+'heights'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@likenessAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"height"'    Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'heights'     Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1000'        Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'results'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'member'      Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'members'     Name
+':'           Operator
+'member'      Name
+'\n\t  '      Text.Whitespace
+'ACCUM'       Keyword
+' \n\t    '   Text.Whitespace
+'@@WeightAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'abs'         Name
+'('           Operator
+'member'      Name
+'.'           Punctuation
+'Weight'      Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'weight'      Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'weights'     Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@WeightAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'weight'      Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t      '  Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'weights'     Name
+';'           Operator
+'\n\t      '  Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t    '    Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t      '  Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'weights'     Name
+';'           Operator
+'\n\t      '  Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'weightRange' Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'print'       Keyword
+' '           Text.Whitespace
+'weightRange' Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1.0'         Literal.Number
+'/'           Operator
+'weightRange' Name
+';'           Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'weights'     Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@WeightAccum' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'weight'      Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'*'           Punctuation
+' '           Text.Whitespace
+'mult'        Name
+';'           Operator
+'\n\t  '      Text.Whitespace
+'ELSE'        Keyword
+'\n\t    '    Text.Whitespace
+'weights'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@likenessAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"weight"'    Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'weights'     Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1000'        Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'resultsLoc'  Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'members'     Name
+':'           Operator
+'member'      Name
+' '           Text.Whitespace
+'-'           Operator
+'('           Operator
+':'           Operator
+'e'           Name
+')'           Operator
+' -'          Operator
+' '           Text.Whitespace
+'location'    Name
+':'           Operator
+' '           Text.Whitespace
+'loc'         Name
+'\n\t  '      Text.Whitespace
+'ACCUM'       Keyword
+' \n\t    '   Text.Whitespace
+'@@LocAccum'  Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'Check_Distance' Name
+'('           Operator
+'loc'         Name
+','           Operator
+'memLoc'      Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t'        Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'loc'         Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@LocAccum'  Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'5800'        Literal.Number
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t      '  Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'ceil'        Name
+'('           Operator
+'loc'         Name
+')'           Operator
+';'           Operator
+'\n\t      '  Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t    '    Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t      '  Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'floor'       Name
+'('           Operator
+'loc'         Name
+')'           Operator
+';'           Operator
+'\n\t      '  Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'lastMax'     Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'lastMin'     Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'locRange'    Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'lastMin'     Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'print'       Keyword
+' '           Text.Whitespace
+'locRange'    Name
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1.0'         Literal.Number
+'/'           Operator
+'locRange'    Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+'loc'         Name
+')'           Operator
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'@@LocAccum'  Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'5800'        Literal.Number
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\t    '    Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'-'           Operator
+'1'           Literal.Number
+';'           Operator
+'\n\t  '      Text.Whitespace
+'ELSE'        Keyword
+'\n\t    '    Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'loc'         Name
+' '           Text.Whitespace
+'*'           Punctuation
+' '           Text.Whitespace
+'mult'        Name
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@likenessAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"distance"'  Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'loc'         Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'lastMax'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'lastMin'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1000'        Literal.Number
+';'           Operator
+'\n\t'        Text.Whitespace
+'mult'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'incentives'  Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'incentive'   Name
+'.'           Punctuation
+'*'           Punctuation
+'}'           Punctuation
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'incentives'  Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'incent'      Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'incentives'  Name
+':'           Operator
+'incent'      Name
+' '           Text.Whitespace
+'- '          Operator
+'('           Operator
+':'           Operator
+'e'           Name
+')'           Operator
+' -'          Operator
+' '           Text.Whitespace
+'lookupRule'  Name
+':'           Operator
+'rule'        Name
+' '           Text.Whitespace
+'WHERE'       Keyword
+'\n\t  '      Text.Whitespace
+'rule'        Name
+'.'           Punctuation
+'RuleName'    Name
+' '           Text.Whitespace
+'== '         Operator
+'"Tenacity"'  Literal.String
+' '           Text.Whitespace
+'AND'         Keyword
+' '           Text.Whitespace
+'incent'      Name
+'.'           Punctuation
+'IncentiveDate' Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'datetime_sub' Keyword
+'('           Operator
+'lastRecording' Name
+','           Operator
+' '           Text.Whitespace
+'INTERVAL'    Keyword
+' '           Text.Whitespace
+'1'           Literal.Number
+' '           Text.Whitespace
+'MONTH'       Name
+')'           Operator
+' '           Text.Whitespace
+'AND'         Keyword
+' '           Text.Whitespace
+'incent'      Name
+'.'           Punctuation
+'IncentiveDate' Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'lastRecording' Name
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'members'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'SELECT'      Keyword
+' '           Text.Whitespace
+'member'      Name
+' '           Text.Whitespace
+'FROM'        Keyword
+' '           Text.Whitespace
+'incentives'  Name
+':'           Operator
+'incent'      Name
+' '           Text.Whitespace
+'- '          Operator
+'('           Operator
+':'           Operator
+'e'           Name
+')'           Operator
+' -'          Operator
+' '           Text.Whitespace
+'motionMember' Name
+':'           Operator
+'member'      Name
+'\n\t  '      Text.Whitespace
+'ACCUM'       Keyword
+'\n\t    '    Text.Whitespace
+'@@DayIncentives' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'incent'      Name
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t\n\t'    Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'('           Operator
+'member'      Name
+','           Operator
+' '           Text.Whitespace
+'incent'      Name
+')'           Operator
+' '           Text.Whitespace
+'IN'          Keyword
+' '           Text.Whitespace
+'@@DayIncentives' Name.Variable
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t  '      Text.Whitespace
+'@@StepsAccum' Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number
+';'           Operator
+'\n\t  '      Text.Whitespace
+'FOREACH'     Keyword
+' '           Text.Whitespace
+'Incentive'   Name
+' '           Text.Whitespace
+'IN'          Keyword
+' '           Text.Whitespace
+'incent'      Name
+' '           Text.Whitespace
+'DO'          Keyword
+'\n\t      '  Text.Whitespace
+'@@StepsAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'Incentive'   Name
+'.'           Punctuation
+'TotalSteps'  Name
+';'           Operator
+'\n\t      '  Text.Whitespace
+'@@BoutsAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'Incentive'   Name
+'.'           Punctuation
+'TotalBouts'  Name
+';'           Operator
+'\n\t      '  Text.Whitespace
+'@@MilesAccum' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'Incentive'   Name
+'.'           Punctuation
+'Miles'       Name
+';'           Operator
+'\n\t    '    Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@MemberStats' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"stepsAvg"'  Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'@@StepsAccum' Name.Variable
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@MemberStats' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"stepsSlope"' Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'Linear_Regression' Name
+'('           Operator
+'incent'      Name
+','           Operator
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Operator
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'# @@MemberStats += (member -> ("boutsAvg" -> @@BoutsAccum));\n' Comment.Single
+
+'\t  # @@MemberStats += (member -> ("boutsSlope" -> Linear_Regression(incent, 2)));\n' Comment.Single
+
+'\t  '        Text.Whitespace
+'@@MemberStats' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"milesAvg"'  Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'@@MilesAccum' Name.Variable
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'@@MemberStats' Name.Variable
+' '           Text.Whitespace
+'+= '         Operator
+'('           Operator
+'member'      Name
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'('           Operator
+'"milesSlope"' Literal.String
+' '           Text.Whitespace
+'->'          Operator
+' '           Text.Whitespace
+'Linear_Regression' Name
+'('           Operator
+'incent'      Name
+','           Operator
+' '           Text.Whitespace
+'3'           Literal.Number
+')'           Operator
+')'           Operator
+')'           Operator
+';'           Operator
+'\n\t  '      Text.Whitespace
+'END'         Keyword
+';'           Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'@@MemberStats' Name.Variable
+';'           Operator
+'\n\t'        Text.Whitespace
+'PRINT'       Keyword
+' '           Text.Whitespace
+'@@likenessAccum' Name.Variable
+';'           Operator
+'\n\t\n'      Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/java/Intro.java b/tests/examplefiles/java/Intro.java
deleted file mode 100644 (file)
index 66d2fee..0000000
+++ /dev/null
@@ -1,1660 +0,0 @@
-/*
- * Copyright (c) 2003 Sun Microsystems, Inc. All  Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 
- * -Redistributions of source code must retain the above copyright
- *  notice, this list of conditions and the following disclaimer.
- * 
- * -Redistribution in binary form must reproduct the above copyright
- *  notice, this list of conditions and the following disclaimer in
- *  the documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
- * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
- * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT
- * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT
- * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
- * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
- * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
- * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN
- * IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- * You acknowledge that Software is not designed, licensed or intended for
- * use in the design, construction, operation or maintenance of any nuclear
- * facility.
- */
-
-
-package java2d;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.*;
-import java.awt.image.BufferedImage;
-import java.awt.image.DataBuffer;
-import java.awt.font.*;
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.table.*;
-import javax.swing.event.*;
-import java.util.Vector;
-import java.util.List;
-import java.util.Arrays;
-
-
-
-/**
- * Introduction to the Java2Demo.  
- *
- * @version @(#)Intro.java     1.19 03/06/26
- * @author Brian Lichtenwalter
- */
-public class Intro extends JPanel {
-
-    static Color black = new Color(20, 20, 20); 
-    static Color white = new Color(240, 240, 255); 
-    static Color red = new Color(149, 43, 42);
-    static Color blue = new Color(94, 105, 176); 
-    static Color yellow = new Color(255, 255, 140);
-
-    static Surface surface;
-    private ScenesTable scenesTable;
-    private boolean doTable;
-
-
-    public Intro() {
-        EmptyBorder eb = new EmptyBorder(80,110,80,110);
-        BevelBorder bb = new BevelBorder(BevelBorder.LOWERED);
-        setBorder(new CompoundBorder(eb,bb));
-        setLayout(new BorderLayout());
-        setBackground(Color.gray);
-        setToolTipText("click for scene table");
-        add(surface = new Surface());
-        addMouseListener(new MouseAdapter() {
-            public void mouseClicked(MouseEvent e) {
-               removeAll();
-               if ((doTable = !doTable)) {
-                   setToolTipText("click for animation");
-                   surface.stop();
-                   if (scenesTable == null) {
-                       scenesTable = new ScenesTable();
-                   }
-                   add(scenesTable);
-               } else {
-                   setToolTipText("click for scene table");
-                   surface.start();
-                   add(surface);
-               }
-               revalidate();
-               repaint();
-            }
-        });
-    }
-
-
-    public void start() {
-        if (!doTable) {
-            surface.start();
-        }
-    }
-
-
-    public void stop() {
-        if (!doTable) {
-           surface.stop();
-        }
-    }
-
-
-    public static void main(String argv[]) {
-        final Intro intro = new Intro();
-        WindowListener l = new WindowAdapter() {
-            public void windowClosing(WindowEvent e) {System.exit(0);}
-            public void windowDeiconified(WindowEvent e) { intro.start(); }
-            public void windowIconified(WindowEvent e) { intro.stop(); }
-        };
-        JFrame f = new JFrame("Java2D Demo - Intro");
-        f.addWindowListener(l);
-        f.getContentPane().add("Center", intro);
-        f.pack();
-        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
-        int w = 720;
-        int h = 510;
-        f.setLocation(screenSize.width/2 - w/2, screenSize.height/2 - h/2);
-        f.setSize(w, h);
-        f.setVisible(true);
-        intro.start();
-    }
-
-
-    /**
-     * ScenesTable is the list of scenes known to the Director.
-     * Scene participation, scene name and scene pause amount columns.
-     * Global animation delay for scene's steps.
-     */
-    static class ScenesTable extends JPanel implements ActionListener, ChangeListener {
-
-        private JTable table;
-        private TableModel dataModel;
-
-        public ScenesTable() {
-            setBackground(Color.white);
-            setLayout(new BorderLayout());
-            final String[] names = { "", "Scenes", "Pause" };
-    
-            dataModel = new AbstractTableModel() {
-                public int getColumnCount() { return names.length; }
-                public int getRowCount() { return surface.director.size();}
-                public Object getValueAt(int row, int col) { 
-                    Surface.Scene scene = (Surface.Scene) surface.director.get(row); 
-                    if (col == 0) {
-                        return scene.participate;
-                    } else if (col == 1) {
-                        return scene.name;
-                    } else { 
-                        return scene.pauseAmt;
-                   }
-                }
-                public String getColumnName(int col) {return names[col]; }
-                public Class getColumnClass(int c) {
-                    return getValueAt(0, c).getClass();
-                }
-                public boolean isCellEditable(int row, int col) {
-                    return col != 1 ? true : false;
-                }
-                public void setValueAt(Object aValue, int row, int col) {
-                    Surface.Scene scene = (Surface.Scene) surface.director.get(row); 
-                    if (col == 0) {
-                        scene.participate = aValue;
-                    } else if (col == 1) {
-                        scene.name = aValue;
-                    } else { 
-                        scene.pauseAmt = aValue;
-                    }
-                }
-            };
-    
-            table = new JTable(dataModel);
-            TableColumn col = table.getColumn("");
-            col.setWidth(16);
-            col.setMinWidth(16);
-            col.setMaxWidth(20);
-            col = table.getColumn("Pause");
-            col.setWidth(60);
-            col.setMinWidth(60);
-            col.setMaxWidth(60);
-            table.sizeColumnsToFit(0);
-        
-            JScrollPane scrollpane = new JScrollPane(table);
-            add(scrollpane);
-            JPanel panel = new JPanel(new BorderLayout());
-            JButton b = new JButton("Unselect All");
-            b.setHorizontalAlignment(JButton.LEFT);
-            Font font = new Font("serif", Font.PLAIN, 10);
-            b.setFont(font);
-            b.addActionListener(this);
-            panel.add("West", b);
-
-            JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 200, (int) surface.sleepAmt);
-            slider.addChangeListener(this);
-            TitledBorder tb = new TitledBorder(new EtchedBorder());
-            tb.setTitleFont(font);
-            tb.setTitle("Anim delay = " + String.valueOf(surface.sleepAmt) + " ms");
-            slider.setBorder(tb);
-            slider.setPreferredSize(new Dimension(140,40));
-            slider.setMinimumSize(new Dimension(100,40));
-            slider.setMaximumSize(new Dimension(180,40));
-            panel.add("East", slider);
-
-            add("South", panel);
-        }
-
-
-        public void actionPerformed(ActionEvent e) {
-            JButton b = (JButton) e.getSource();
-            b.setSelected(!b.isSelected());
-            b.setText(b.isSelected() ? "Select All" : "Unselect All");
-            for (int i = 0; i < surface.director.size(); i++) {
-                Surface.Scene scene = (Surface.Scene) surface.director.get(i); 
-                scene.participate = new Boolean(!b.isSelected());
-            }
-           table.tableChanged(new TableModelEvent(dataModel));
-        }
-
-
-        public void stateChanged(ChangeEvent e) {
-            JSlider slider = (JSlider) e.getSource();
-            int value = slider.getValue();
-            TitledBorder tb = (TitledBorder) slider.getBorder();
-            tb.setTitle("Anim delay = " + String.valueOf(value) + " ms");
-            surface.sleepAmt = (long) value;
-            slider.repaint();
-        }
-    }  // End ScenesTable class
-
-
-
-    /**
-     * Surface is the stage where the Director plays its scenes.
-     */
-    static class Surface extends JPanel implements Runnable {
-
-        static Surface surf;
-        static Image cupanim, java_logo;
-        static BufferedImage bimg;
-        public Director director;
-        public int index;
-        public long sleepAmt = 30;
-        private Thread thread;
-
-
-        public Surface() {
-            surf = this;
-            setBackground(black);
-            setLayout(new BorderLayout());
-            addMouseListener(new MouseAdapter() {
-                public void mouseClicked(MouseEvent e) {
-                    if (thread == null) start(); else stop();
-                }
-            });
-            cupanim = DemoImages.getImage("cupanim.gif", this);
-            java_logo = DemoImages.getImage("java_logo.png", this);
-            director = new Director();
-        }
-
-
-        static FontMetrics getMetrics(Font font) {
-            return surf.getFontMetrics(font);
-        }
-
-
-        public void paint(Graphics g) {
-            Dimension d = getSize();
-           if (d.width <= 0 || d.height <= 0) {
-               return;
-           }
-            if (bimg == null || bimg.getWidth() != d.width || bimg.getHeight() != d.height) {
-                bimg = getGraphicsConfiguration().createCompatibleImage(d.width, d.height);  
-                // reset future scenes
-                for (int i = index+1; i < director.size(); i++) {
-                    ((Scene) director.get(i)).reset(d.width, d.height);
-                }
-            }
-
-            Scene scene = (Scene) director.get(index);
-            if (scene.index <= scene.length) {
-                if (thread != null) {
-                    scene.step(d.width, d.height);
-                }
-
-                Graphics2D g2 = bimg.createGraphics();
-                g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
-                                    RenderingHints.VALUE_ANTIALIAS_ON);
-                g2.setBackground(getBackground());
-                g2.clearRect(0, 0, d.width, d.height);
-    
-                scene.render(d.width, d.height, g2);
-
-                if (thread != null) {
-                    // increment scene.index after scene.render
-                    scene.index++;      
-                }
-                g2.dispose();
-            }
-            g.drawImage(bimg, 0, 0, this);
-        }
-
-
-
-        public void start() {
-            if (thread == null) {
-                thread = new Thread(this);
-                thread.setPriority(Thread.MIN_PRIORITY);
-                thread.setName("Intro");
-                thread.start();
-            }
-        }
-    
-
-        public synchronized void stop() {
-            if (thread != null) {
-                thread.interrupt();
-            }
-            thread = null;
-            notifyAll();
-        }
-
-
-        public void reset() {
-            index = 0;
-            Dimension d = getSize();
-            for (int i = 0; i < director.size(); i++) {
-                ((Scene) director.get(i)).reset(d.width, d.height);
-            }
-        }
-
-    
-        public void run() {
-
-            Thread me = Thread.currentThread();
-
-            while (thread == me && !isShowing() || getSize().width <= 0) {
-                try {
-                    thread.sleep(500);
-                } catch (InterruptedException e) { return; }
-            }
-
-            if (index == 0) {
-                reset();
-            }
-
-            while (thread == me) {
-                Scene scene = (Scene) director.get(index);
-                if (((Boolean) scene.participate).booleanValue()) {
-                    repaint();
-                    try {
-                        thread.sleep(sleepAmt);
-                    } catch (InterruptedException e) { break; }
-                    if (scene.index > scene.length) {
-                        scene.pause(thread);
-                        if (++index >= director.size()) {
-                            reset();
-                        }
-                    }
-                } else {
-                   if (++index >= director.size()) {
-                        reset();
-                   }
-                }
-            }
-            thread = null;
-        }
-
-
-
-        /**
-         * Part is a piece of the scene.  Classes must implement Part
-         * inorder to participate in a scene.
-         */
-        interface Part {
-            public void reset(int newwidth, int newheight);
-            public void step(int w, int h);
-            public void render(int w, int h, Graphics2D g2);
-            public int getBegin();
-            public int getEnd();
-        }
-
-
-
-        /**
-         * Director is the holder of the scenes, their names & pause amounts
-         * between scenes.
-         */
-        static class Director extends Vector {
-
-            GradientPaint gp = new GradientPaint(0,40,blue,38,2,black);
-            Font f1 = new Font("serif", Font.PLAIN, 200);
-            Font f2 = new Font("serif", Font.PLAIN, 120);
-            Font f3 = new Font("serif", Font.PLAIN, 72);
-            Object parts[][][] = {
-               { { "J  -  scale text on gradient", "0" },
-                 { new GpE(GpE.BURI, black, blue, 0, 20),
-                   new TxE("J", f1, TxE.SCI, yellow, 2, 20) } },
-               { { "2  -  scale & rotate text on gradient" , "0" },
-                 { new GpE(GpE.BURI, blue, black, 0, 22),
-                   new TxE("2", f1, TxE.RI | TxE.SCI, yellow, 2, 22) } },
-               { { "D  -  scale text on gradient", "0" },
-                 { new GpE(GpE.BURI, black, blue, 0, 20),
-                   new TxE("D", f1, TxE.SCI, yellow, 2, 20) } },
-               { { "Java2D  -  scale & rotate text on gradient", "1000" },
-                 { new GpE(GpE.SIH, blue, black, 0, 40),
-                   new TxE("Java2D", f2, TxE.RI | TxE.SCI, yellow, 0, 40) }},
-               { { "Previous scene dither dissolve out", "0"},
-                 { new DdE(0, 20, 1) }},
-               { { "Graphics Features", "999" },
-                 { new Temp(Temp.RECT, null, 0, 15),
-                   new Temp(Temp.IMG, java_logo, 2, 15),
-                   new Temp(Temp.RNA | Temp.INA, java_logo, 16, 130),
-                   new Features(Features.GRAPHICS, 16, 130) }},
-               { { "Java2D  -  texture text on gradient", "1000"},
-                 { new GpE(GpE.WI, blue, black, 0, 20),
-                   new GpE(GpE.WD, blue, black, 21, 40),
-                   new TpE(TpE.OI | TpE.NF, black, yellow, 4, 0, 10),
-                   new TpE(TpE.OD | TpE.NF, black, yellow, 4, 11, 20),
-                   new TpE(TpE.OI | TpE.NF | TpE.HAF, black, yellow,5,21,40),
-                   new TxE("Java2D", f2, 0, null, 0, 40) }},
-               { { "Previous scene random close out", "0"},
-                 { new CoE(CoE.RAND, 0, 20) } },
-               { { "Text Features", "999" },
-                 { new Temp(Temp.RECT, null, 0, 15),
-                   new Temp(Temp.IMG, java_logo, 2, 15),
-                   new Temp(Temp.RNA | Temp.INA, java_logo, 16, 130),
-                   new Features(Features.TEXT, 16, 130) }},
-               { { "Java2D  -  composite text on texture", "1000"},
-                 { new TpE(TpE.RI, black, gp, 40, 0, 20),
-                   new TpE(TpE.RD, black, gp, 40, 21, 40),
-                   new TpE(TpE.RI, black, gp, 40, 41, 60),
-                   new TxE("Java2D", f2, TxE.AC, yellow, 0, 60) }},
-               { { "Previous scene dither dissolve out", "0"},
-                 { new DdE(0, 20, 4) }},
-               { { "Imaging Features", "999" },
-                 { new Temp(Temp.RECT, null, 0, 15),
-                   new Temp(Temp.IMG, java_logo, 2, 15),
-                   new Temp(Temp.RNA | Temp.INA, java_logo, 16, 130),
-                   new Features(Features.IMAGES, 16, 130) }},
-               { { "Java2D  -  text on gradient", "1000" },
-                 { new GpE(GpE.SDH, blue, black, 0, 20),
-                   new GpE(GpE.SIH, blue, black, 21, 40),
-                   new GpE(GpE.SDH, blue, black, 41, 50),
-                   new GpE(GpE.INC | GpE.NF, red, yellow, 0, 50),
-                   new TxE("Java2D", f2, TxE.NOP, null, 0, 50) }},
-               { { "Previous scene ellipse close out", "0"},
-                 { new CoE(CoE.OVAL, 0, 20) } },
-               { { "Color Features", "999" },
-                 { new Temp(Temp.RECT, null, 0, 15),
-                   new Temp(Temp.IMG, java_logo, 2, 15),
-                   new Temp(Temp.RNA | Temp.INA, java_logo, 16, 99),
-                   new Features(Features.COLOR, 16, 99) }},
-               { { "Java2D  -  composite and rotate text on paints", "2000" },
-                 { new GpE(GpE.BURI, black, blue, 0, 20),
-                   new GpE(GpE.BURD, black, blue, 21, 30),
-                   new TpE(TpE.OI | TpE.HAF, black, blue, 10, 31, 40),
-                   new TxE("Java2D", f2, TxE.AC | TxE.RI, yellow, 0, 40) }},
-               { { "Previous scene subimage transform out", "0" },
-                 { new SiE(60, 60, 0, 40) }},
-               { { "CREDITS  -  transform in", "1000" },
-                 { new LnE(LnE.ACI | LnE.ZOOMI | LnE.RI, 0, 60),
-                   new TxE("CREDITS", f3, TxE.AC | TxE.SCI, Color.red,20,30),
-                   new TxE("CREDITS", f3, TxE.SCXD, Color.red, 31, 38),
-                   new TxE("CREDITS", f3, TxE.SCXI, Color.red, 39, 48),
-                   new TxE("CREDITS", f3, TxE.SCXD, Color.red, 49, 54),
-                   new TxE("CREDITS", f3, TxE.SCXI, Color.red, 55, 60) }},
-               { { "CREDITS  -  transform out", "0" },
-                 { new LnE(LnE.ACD | LnE.ZOOMD | LnE.RD, 0, 45),
-                   new TxE("CREDITS", f3, 0, Color.red, 0, 9),
-                   new TxE("CREDITS", f3, TxE.SCD | TxE.RD, Color.red,10,30)}},
-               { { "Contributors", "1000" },
-                 { new Temp(Temp.RECT, null, 0, 30),
-                   new Temp(Temp.IMG, cupanim, 4, 30),
-                   new Temp(Temp.RNA | Temp.INA, cupanim, 31, 200),
-                   new Contributors(34, 200) } },
-            };
-
-
-            public Director() {
-                for (int i = 0; i < parts.length; i++) {
-                    Vector v = new Vector();
-                    for (int j = 0; j < parts[i][1].length; j++) {
-                        v.addElement(parts[i][1][j]);
-                    }
-                    addElement(new Scene(v, parts[i][0][0], parts[i][0][1]));
-                }
-            }
-        }
-        
-
-
-        /**
-         * Scene is the manager of the parts.
-         */
-        static class Scene extends Object {
-            public Object name;
-            public Object participate = new Boolean(true);
-            public Object pauseAmt;
-            public Vector parts;
-            public int index;
-            public int length;
-
-            public Scene(Vector parts, Object name, Object pauseAmt) {
-                this.name = name;
-                this.parts = parts;
-                this.pauseAmt = pauseAmt;
-                for (int i = 0; i < parts.size(); i++) {
-                    if (((Part) parts.get(i)).getEnd() > length) {
-                        length = ((Part) parts.get(i)).getEnd();
-                    }
-                }
-            }
-
-            public void reset(int w, int h) {
-                index = 0;
-                for (int i = 0; i < parts.size(); i++) {
-                    ((Part) parts.get(i)).reset(w, h);
-                }
-            }
-
-            public void step(int w, int h) {
-                for (int i = 0; i < parts.size(); i++) {
-                    Part part = (Part) parts.get(i);
-                    if (index >= part.getBegin() && index <= part.getEnd()) {
-                        part.step(w, h);
-                    }
-                }
-            }
-
-            public void render(int w, int h, Graphics2D g2) {
-                for (int i = 0; i < parts.size(); i++) {
-                    Part part = (Part) parts.get(i);
-                    if (index >= part.getBegin() && index <= part.getEnd()) {
-                        part.render(w, h, g2);
-                    }
-                }
-            }
-
-            public void pause(Thread thread) {
-                try {
-                    thread.sleep(Long.parseLong((String) pauseAmt));
-                } catch (Exception e) { }
-                System.gc();
-            }
-        } // End Scene class
-
-
-
-        /**
-         * Text Effect.  Transformation of characters.  Clip or fill.
-         */
-        static class TxE implements Part {
-
-            static final int INC  = 1;
-            static final int DEC  = 2;
-            static final int R    = 4;            // rotate
-            static final int RI   = R | INC;
-            static final int RD   = R | DEC;
-            static final int SC   = 8;            // scale
-            static final int SCI  = SC | INC;
-            static final int SCD  = SC | DEC;    
-            static final int SCX  = 16;           // scale invert x
-            static final int SCXI = SCX | SC | INC;
-            static final int SCXD = SCX | SC | DEC; 
-            static final int SCY  = 32;           // scale invert y
-            static final int SCYI = SCY | SC | INC;
-            static final int SCYD = SCY | SC | DEC; 
-            static final int AC   = 64;           // AlphaComposite
-            static final int CLIP = 128;          // Clipping
-            static final int NOP  = 512;          // No Paint 
-            private int beginning, ending;
-            private int type;
-            private double rIncr, sIncr;
-            private double sx, sy, rotate;
-            private Shape shapes[], txShapes[];
-            private int sw;
-            private int numRev;
-            private Paint paint;
-
-
-            public TxE(String text, 
-                           Font font, 
-                           int type, 
-                           Paint paint,
-                           int beg, 
-                           int end) {
-                this.type = type;
-                this.paint = paint;
-                this.beginning = beg;
-                this.ending = end;
-
-                setIncrements(2);
-                
-                char[] chars = text.toCharArray();
-                shapes = new Shape[chars.length];
-                txShapes = new Shape[chars.length];
-                FontRenderContext frc = new FontRenderContext(null,true,true);
-                TextLayout tl = new TextLayout(text, font, frc);
-                sw = (int) tl.getOutline(null).getBounds().getWidth();
-                for (int j = 0; j < chars.length; j++) {
-                    String s = String.valueOf(chars[j]);
-                    shapes[j] = new TextLayout(s, font, frc).getOutline(null);
-                }
-            }
-
-
-            public void setIncrements(double numRevolutions) {
-                this.numRev = (int) numRevolutions;
-                rIncr = 360.0 / ((ending - beginning) / numRevolutions);
-                sIncr = 1.0 / (ending - beginning);
-                if ((type & SCX) != 0 || (type & SCY) != 0) {
-                    sIncr *= 2;
-                }
-                if ((type & DEC) != 0) {
-                    rIncr = -rIncr;
-                    sIncr = -sIncr;
-                }
-            }
-
-
-            public void reset(int w, int h) {
-                if (type == SCXI) {
-                    sx = -1.0;  sy = 1.0;
-                } else if (type == SCYI) {
-                    sx = 1.0;  sy = -1.0;
-                } else {
-                    sx = sy = (type & DEC) != 0 ? 1.0 : 0.0;  
-                }
-                rotate = 0;
-            }
-
-       
-            public void step(int w, int h) {
-        
-                float charWidth = w/2-sw/2;
-        
-                for (int i = 0; i < shapes.length; i++) {
-                    AffineTransform at = new AffineTransform();
-                    Rectangle2D maxBounds = shapes[i].getBounds();
-                    at.translate(charWidth, h/2+maxBounds.getHeight()/2);
-                    charWidth += (float) maxBounds.getWidth() + 1;
-                    Shape shape = at.createTransformedShape(shapes[i]);
-                    Rectangle2D b1 = shape.getBounds2D();
-        
-                    if ((type & R) != 0) {
-                        at.rotate(Math.toRadians(rotate)); 
-                    }
-                    if ((type & SC) != 0) {
-                        at.scale(sx, sy);
-                    }
-                    shape = at.createTransformedShape(shapes[i]);
-                    Rectangle2D b2 = shape.getBounds2D();
-      
-                    double xx = (b1.getX()+b1.getWidth()/2)
-                                - (b2.getX()+b2.getWidth()/2);
-                    double yy = (b1.getY()+b1.getHeight()/2)
-                                - (b2.getY()+b2.getHeight()/2);
-                    AffineTransform toCenterAT = new AffineTransform();
-                    toCenterAT.translate(xx, yy);
-                    toCenterAT.concatenate(at);
-                    txShapes[i] = toCenterAT.createTransformedShape(shapes[i]);
-                }
-                // avoid over rotation
-                if (Math.abs(rotate) <= numRev * 360) {
-                    rotate += rIncr;
-                    if ((type & SCX) != 0) {
-                        sx += sIncr;
-                    } else if ((type & SCY) != 0) {
-                        sy += sIncr;
-                    } else {
-                        sx += sIncr; sy += sIncr;
-                    }
-                }
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                Composite saveAC = null;
-                if ((type & AC) != 0 && sx > 0 && sx < 1) {
-                    saveAC = g2.getComposite();
-                    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (float) sx));
-                }
-                GeneralPath path = null;
-                if ((type & CLIP) != 0) {
-                    path = new GeneralPath();
-                }
-                if (paint != null) {
-                    g2.setPaint(paint);
-                }
-                for (int i = 0; i < txShapes.length; i++) {
-                    if ((type & CLIP) != 0) {
-                       path.append(txShapes[i], false);
-                    } else {
-                       g2.fill(txShapes[i]);
-                    }
-                }
-                if ((type & CLIP) != 0) {
-                    g2.clip(path);
-                }
-                if (saveAC != null) {
-                   g2.setComposite(saveAC);
-                }
-            }
-
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End TxE class
-
-
-
-
-        /**
-         * GradientPaint Effect.  Burst, split, horizontal and 
-         * vertical gradient fill effects.
-         */
-        static class GpE implements Part {
-
-            static final int INC = 1;             // increasing
-            static final int DEC = 2;             // decreasing
-            static final int CNT = 4;             // center
-            static final int WID = 8;             // width 
-            static final int WI  = WID | INC;             
-            static final int WD  = WID | DEC;            
-            static final int HEI = 16;            // height
-            static final int HI  = HEI | INC;            
-            static final int HD  = HEI | DEC;            
-            static final int SPL = 32 | CNT;      // split 
-            static final int SIW = SPL | INC | WID;
-            static final int SDW = SPL | DEC | WID;
-            static final int SIH = SPL | INC | HEI;
-            static final int SDH = SPL | DEC | HEI;
-            static final int BUR = 64 | CNT;     // burst 
-            static final int BURI = BUR | INC;    
-            static final int BURD = BUR | DEC;   
-            static final int NF = 128;           // no fill
-            private Color c1, c2;
-            private int beginning, ending;
-            private float incr, index;
-            private Vector rect = new Vector();
-            private Vector grad = new Vector();
-            private int type;
-
-
-            public GpE(int type, Color c1, Color c2, int beg, int end) {
-                this.type = type;
-                this.c1 = c1;
-                this.c2 = c2;
-                this.beginning = beg;
-                this.ending = end;
-            }
-
-
-            public void reset(int w, int h) {
-                incr = 1.0f / (ending - beginning);
-                if ((type & CNT) != 0) {
-                    incr /= 2.3f;
-                }
-                if ((type & CNT) != 0 && (type & INC) != 0) {
-                    index = 0.5f;
-                } else if ((type & DEC) != 0) {
-                    index = 1.0f;
-                    incr = -incr;
-                } else {
-                    index = 0.0f;
-                }
-                index += incr;
-            }
-
-       
-            public void step(int w, int h) {
-                rect.clear();
-                grad.clear();
-
-                if ((type & WID) != 0) {
-                    float w2 = 0, x1 = 0, x2 = 0;
-                    if ((type & SPL) != 0) {
-                        w2 = w * 0.5f;
-                        x1 = w * (1.0f - index);
-                        x2 = w * index;
-                    } else {
-                        w2 = w * index;
-                        x1 = x2 = w2;
-                    }
-                    rect.addElement(new Rectangle2D.Float(0, 0, w2, h));
-                    rect.addElement(new Rectangle2D.Float(w2, 0, w-w2, h));
-                    grad.addElement(new GradientPaint(0,0,c1,x1,0,c2));
-                    grad.addElement(new GradientPaint(x2,0,c2,w,0,c1));
-                } else if ((type & HEI) != 0) {
-                    float h2 = 0, y1 = 0, y2 = 0;
-                    if ((type & SPL) != 0) {
-                        h2 = h * 0.5f;
-                        y1 = h * (1.0f - index);
-                        y2 = h * index;
-                    } else {
-                        h2 = h * index;
-                        y1 = y2 = h2;
-                    }
-                    rect.addElement(new Rectangle2D.Float(0, 0, w, h2));
-                    rect.addElement(new Rectangle2D.Float(0, h2, w, h-h2));
-                    grad.addElement(new GradientPaint(0,0,c1,0,y1,c2));
-                    grad.addElement(new GradientPaint(0,y2,c2,0,h,c1));
-                } else if ((type & BUR) != 0) {
-
-                    float w2 = w/2;
-                    float h2 = h/2;
-
-                    rect.addElement(new Rectangle2D.Float(0, 0, w2, h2));
-                    rect.addElement(new Rectangle2D.Float(w2, 0, w2, h2));
-                    rect.addElement(new Rectangle2D.Float(0, h2, w2, h2));
-                    rect.addElement(new Rectangle2D.Float(w2, h2, w2, h2));
-
-                    float x1 = w * (1.0f - index);
-                    float x2 = w * index;
-                    float y1 = h * (1.0f - index);
-                    float y2 = h * index;
-
-                    grad.addElement(new GradientPaint(0,0,c1,x1,y1,c2));
-                    grad.addElement(new GradientPaint(w,0,c1,x2,y1,c2));
-                    grad.addElement(new GradientPaint(0,h,c1,x1,y2,c2));
-                    grad.addElement(new GradientPaint(w,h,c1,x2,y2,c2));
-                } else if ((type & NF) != 0) {
-                    float x = w * index;
-                    float y = h * index;
-                    grad.addElement(new GradientPaint(0,0,c1,0,y,c2));
-                }
-
-                if ((type & INC) != 0 || (type & DEC) != 0) {
-                    index += incr;
-                }
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
-                                RenderingHints.VALUE_ANTIALIAS_OFF);
-                for (int i = 0; i < grad.size(); i++) {
-                    g2.setPaint((GradientPaint) grad.get(i));
-                    if ((type & NF) == 0) {
-                        g2.fill((Rectangle2D) rect.get(i));
-                    }
-                }
-                g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
-                                RenderingHints.VALUE_ANTIALIAS_ON);
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End GpE class
-
-
-
-        /**
-         * TexturePaint Effect.  Expand and collapse a texture. 
-         */
-        static class TpE implements Part {
-
-            static final int INC = 1;             // increasing
-            static final int DEC = 2;             // decreasing
-            static final int OVAL = 4;            // oval
-            static final int RECT = 8;            // rectangle 
-            static final int HAF = 16;            // half oval or rect size
-            static final int OI = OVAL | INC; 
-            static final int OD = OVAL | DEC;
-            static final int RI = RECT | INC;
-            static final int RD = RECT | DEC;
-            static final int NF = 32;             // no fill 
-            private Paint p1, p2;
-            private int beginning, ending;
-            private float incr, index;
-            private TexturePaint texture;
-            private int type;
-            private int size;
-            private BufferedImage bimg;
-            private Rectangle rect;
-
-
-            public TpE(int type, Paint p1, Paint p2, int size,
-                                   int beg, int end) {
-                this.type = type;
-                this.p1 = p1;
-                this.p2 = p2;
-                this.beginning = beg;
-                this.ending = end;
-                setTextureSize(size);
-            }
-
-
-            public void setTextureSize(int size) {
-                this.size = size;
-                bimg = new BufferedImage(size,size,BufferedImage.TYPE_INT_RGB);
-                rect = new Rectangle(0,0,size,size);
-            }
-
-
-            public void reset(int w, int h) {
-                incr = (float) (size) / (float) (ending - beginning);
-                if ((type & HAF) != 0) {
-                   incr /= 2;
-                }
-                if ((type & DEC) != 0) {
-                    index = size;
-                    if ((type & HAF) != 0) {
-                       index /= 2;
-                    }
-                    incr = -incr;
-                } else {
-                    index = 0.0f;
-                }
-                index += incr;
-            }
-
-       
-            public void step(int w, int h) {
-                Graphics2D g2 = bimg.createGraphics();
-                g2.setPaint(p1);
-                g2.fillRect(0,0,size,size);
-                g2.setPaint(p2);
-                if ((type & OVAL) != 0) {
-                    g2.fill(new Ellipse2D.Float(0,0,index,index));
-                } else if ((type & RECT) != 0) {
-                    g2.fill(new Rectangle2D.Float(0,0,index,index));
-                }
-                texture = new TexturePaint(bimg, rect);
-                g2.dispose();
-                index += incr;
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                g2.setPaint(texture);
-                if ((type & NF) == 0) {
-                    g2.fillRect(0, 0, w, h);
-                }
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End TpE class
-
-
-
-        /**
-         * Close out effect.  Close out the buffered image with different 
-         * geometry shapes.
-         */
-        static class CoE implements Part {
-
-            static final int WID  = 1;            
-            static final int HEI  = 2;           
-            static final int OVAL = 4;            
-            static final int RECT = 8;           
-            static final int RAND = 16;           
-            static final int ARC  = 32;           
-            private int type;
-            private int beginning, ending;
-            private BufferedImage bimg;
-            private Shape shape;
-            private double zoom, extent;
-            private double zIncr, eIncr;
-            private boolean doRandom;
-
-
-            public CoE(int type, int beg, int end) {
-                this.type = type;
-                this.beginning = beg;
-                this.ending = end;
-                zIncr = -(2.0 / (ending - beginning));
-                eIncr = 360.0 / (ending - beginning);
-                doRandom = (type & RAND) != 0;
-            }
-
-
-            public void reset(int w, int h) {
-                if (doRandom) {
-                    int num = (int) (Math.random() * 5.0);
-                    switch (num) {
-                        case 0 : type = OVAL; break;
-                        case 1 : type = RECT; break;
-                        case 2 : type = RECT | WID; break;
-                        case 3 : type = RECT | HEI; break;
-                        case 4 : type = ARC; break;
-                        default : type = OVAL; 
-                    }
-                }
-                shape = null;
-                bimg = null;
-                extent = 360.0;
-                zoom = 2.0;
-            }
-
-
-            public void step(int w, int h) {
-                if (bimg == null) {
-                    int biw = Surface.bimg.getWidth();
-                    int bih = Surface.bimg.getHeight();
-                    bimg = new BufferedImage(biw, bih, BufferedImage.TYPE_INT_RGB);
-                    Graphics2D big = bimg.createGraphics();
-                    big.drawImage(Surface.bimg, 0, 0, null);
-                }
-                double z = Math.min(w, h) * zoom;
-                if ((type & OVAL) != 0) {
-                    shape = new Ellipse2D.Double(w/2-z/2,h/2-z/2,z,z);
-                } else if ((type & ARC) != 0) {
-                    shape = new Arc2D.Double(-100,-100,w+200,h+200,90,extent,Arc2D.PIE);
-                    extent -= eIncr;
-                } else if ((type & RECT) != 0) {
-                    if ((type & WID) != 0) {
-                        shape = new Rectangle2D.Double(w/2-z/2,0,z,h);
-                    } else if ((type & HEI) != 0) {
-                        shape = new Rectangle2D.Double(0,h/2-z/2,w,z);
-                    } else {
-                        shape = new Rectangle2D.Double(w/2-z/2,h/2-z/2,z,z);
-                    }
-                }
-                zoom += zIncr;
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                g2.clip(shape);
-                g2.drawImage(bimg, 0, 0, null);
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End CoE class
-
-
-
-        /**
-         * Dither Dissolve Effect. For each successive step in the animation, 
-         * a pseudo-random starting horizontal position is chosen using list, 
-         * and then the corresponding points created from xlist and ylist are
-         * blacked out for the current "chunk".  The x and y chunk starting
-         * positions are each incremented by the associated chunk size, and 
-         * this process is repeated for the number of "steps" in the 
-         * animation, causing an equal number of pseudo-randomly picked 
-         * "blocks" to be blacked out during each step of the animation.
-         */
-        static class DdE implements Part {
-
-            private int beginning, ending;
-            private BufferedImage bimg;
-            private Graphics2D big;
-            private List list, xlist, ylist;
-            private int xeNum, yeNum;    // element number
-            private int xcSize, ycSize;  // chunk size
-            private int inc;
-            private int blocksize;
-
-
-            public DdE(int beg, int end, int blocksize) {
-                this.beginning = beg;
-                this.ending = end;
-                this.blocksize = blocksize; 
-            }
-
-            private void createShuffledLists() {
-                int width = bimg.getWidth();
-                int height = bimg.getHeight();
-                Integer xarray[] = new Integer[width];
-                Integer yarray[] = new Integer[height];
-                Integer array[] = new Integer[ending - beginning + 1];
-                for (int i = 0; i < xarray.length; i++) {
-                    xarray[i] = new Integer(i);
-                }
-                for (int j = 0; j < yarray.length; j++) {
-                    yarray[j] = new Integer(j);
-                }
-                for (int k = 0; k < array.length; k++) {
-                    array[k] = new Integer(k);
-                } 
-                java.util.Collections.shuffle(xlist = Arrays.asList(xarray));
-                java.util.Collections.shuffle(ylist = Arrays.asList(yarray));
-                java.util.Collections.shuffle(list = Arrays.asList(array));
-            }
-
-            public void reset(int w, int h) {
-                bimg = null;
-            }
-
-            public void step(int w, int h) {
-                if (bimg == null) {
-                    int biw = Surface.bimg.getWidth();
-                    int bih = Surface.bimg.getHeight();
-                    bimg = new BufferedImage(biw, bih, BufferedImage.TYPE_INT_RGB);
-                    createShuffledLists();
-                    big = bimg.createGraphics();
-                    big.drawImage(Surface.bimg, 0, 0, null);
-                    xcSize = (xlist.size() / (ending - beginning)) + 1;
-                    ycSize = (ylist.size() / (ending - beginning)) + 1;
-                    xeNum = 0;
-                    inc = 0;
-                }
-                xeNum = xcSize * ((Integer)list.get(inc)).intValue();
-                yeNum = -ycSize;
-                inc++;
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                big.setColor(black); 
-
-                for (int k = 0; k <= (ending - beginning); k++) {
-                    if ((xeNum + xcSize) > xlist.size()) {
-                        xeNum = 0;
-                    } else {
-                        xeNum += xcSize;
-                    }
-                    yeNum += ycSize;
-
-                    for (int i = xeNum; i < xeNum+xcSize && i < xlist.size(); i++) {
-                        for (int j = yeNum; j < yeNum+ycSize && j < ylist.size(); j++) {   
-                            int xval = ((Integer)xlist.get(i)).intValue();
-                            int yval = ((Integer)ylist.get(j)).intValue();
-                            if (((xval % blocksize) == 0) &&
-                                ((yval % blocksize) == 0)) {
-                                big.fillRect(xval, yval, blocksize, blocksize);
-                            }
-                        }
-                    }
-                }
-           
-                g2.drawImage(bimg, 0, 0, null);
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End DdE class
-
-
-        /**
-         * Subimage effect.  Subimage the scene's buffered
-         * image then rotate and scale down the subimages.
-         */
-        static class SiE implements Part {
-
-            private int beginning, ending;
-            private BufferedImage bimg;
-            private double rIncr, sIncr;
-            private double scale, rotate;
-            private int siw, sih;
-            private Vector subs = new Vector(20);
-            private Vector pts = new Vector(20);
-
-
-            public SiE(int siw, int sih, int beg, int end) {
-                this.siw = siw;
-                this.sih = sih;
-                this.beginning = beg;
-                this.ending = end;
-                rIncr = 360.0 / (ending - beginning);
-                sIncr = 1.0 / (ending - beginning);
-            }
-
-
-            public void reset(int w, int h) {
-                scale = 1.0;  
-                rotate = 0.0;
-                bimg = null;
-                subs.clear();
-                pts.clear();
-            }
-
-
-            public void step(int w, int h) {
-                if (bimg == null) {
-                    int biw = Surface.bimg.getWidth();
-                    int bih = Surface.bimg.getHeight();
-                    bimg = new BufferedImage(biw, bih, BufferedImage.TYPE_INT_RGB);
-                    Graphics2D big = bimg.createGraphics();
-                    big.drawImage(Surface.bimg, 0, 0, null);
-                    for (int x = 0; x < w && scale > 0.0; x+=siw) {
-                        int ww = x+siw < w ? siw : w-x;
-                        for (int y = 0; y < h; y+=sih) {
-                            int hh = y+sih < h ? sih : h-y;
-                            subs.addElement(bimg.getSubimage(x,y,ww,hh));    
-                            pts.addElement(new Point(x, y));
-                        }
-                    }
-                }
-                
-                rotate += rIncr;
-                scale -= sIncr;
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                AffineTransform saveTx = g2.getTransform();
-                g2.setColor(blue);
-                for (int i = 0; i < subs.size() && scale > 0.0; i++) {
-                    BufferedImage bi = (BufferedImage) subs.get(i);
-                    Point p = (Point) pts.get(i);
-                    int ww = bi.getWidth();
-                    int hh = bi.getHeight();
-                    AffineTransform at = new AffineTransform();
-                    at.rotate(Math.toRadians(rotate), p.x+ww/2, p.y+hh/2); 
-                    at.translate(p.x, p.y);
-                    at.scale(scale, scale);
-
-                    Rectangle b1 = new Rectangle(0, 0, ww, hh);
-                    Shape shape = at.createTransformedShape(b1);
-                    Rectangle2D b2 = shape.getBounds2D();
-                    double xx = (p.x+ww/2) - (b2.getX()+b2.getWidth()/2);
-                    double yy = (p.y+hh/2) - (b2.getY()+b2.getHeight()/2);
-                    AffineTransform toCenterAT = new AffineTransform();
-                    toCenterAT.translate(xx, yy);
-                    toCenterAT.concatenate(at);
-
-                    g2.setTransform(toCenterAT);
-                    g2.drawImage(bi, 0, 0, null);
-                    g2.draw(b1);
-                }
-                g2.setTransform(saveTx);
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End SiE class
-
-
-
-
-        /**
-         * Line Effect.  Flattened ellipse with lines from the center 
-         * to the edge.  Expand or collapse the ellipse.  Fade in or out 
-         * the lines.
-         */
-        static class LnE implements Part {
-
-            static final int INC  = 1;
-            static final int DEC  = 2;
-            static final int R    = 4;              // rotate
-            static final int RI   = R | INC;
-            static final int RD   = R | DEC;
-            static final int ZOOM   = 8;            // zoom
-            static final int ZOOMI  = ZOOM | INC;
-            static final int ZOOMD  = ZOOM | DEC;    
-            static final int AC   = 32;             // AlphaComposite
-            static final int ACI   = 32 | INC;
-            static final int ACD   = 32 | DEC; 
-            private int beginning, ending;
-            private double rIncr, rotate;
-            private double zIncr, zoom;
-            private Vector pts = new Vector();
-            private float alpha, aIncr;
-            private int type;
-
-
-            public LnE(int type, int beg, int end) {
-                this.type = type;
-                this.beginning = beg;
-                this.ending = end;
-                rIncr = 360.0 / (ending - beginning);
-                aIncr = 0.9f / (ending - beginning);
-                zIncr = 2.0 / (ending - beginning);
-                if ((type & DEC) != 0) {
-                    rIncr = -rIncr;
-                    aIncr = -aIncr;
-                    zIncr = -zIncr;
-                }
-            }
-
-
-            public void generatePts(int w, int h, double sizeF) {
-                pts.clear();
-                double size = Math.min(w, h) * sizeF;
-                Ellipse2D ellipse = new Ellipse2D.Double(w/2-size/2,h/2-size/2,size,size);
-                PathIterator pi = ellipse.getPathIterator(null, 0.8);
-                while ( !pi.isDone() ) {
-                    double[] pt = new double[6];
-                    switch ( pi.currentSegment(pt) ) {
-                        case FlatteningPathIterator.SEG_MOVETO:
-                        case FlatteningPathIterator.SEG_LINETO:
-                            pts.addElement(new Point2D.Double(pt[0], pt[1]));
-                    }
-                    pi.next();
-                }
-            }
-
-
-            public void reset(int w, int h) {
-                if ((type & DEC) != 0) {
-                    rotate = 360;
-                    alpha = 1.0f;
-                    zoom = 2.0;
-                } else {
-                    rotate = alpha = 0;
-                    zoom = 0;
-                }
-                if ((type & ZOOM) == 0) {
-                    generatePts(w, h, 0.5);
-                }
-            }
-
-
-            public void step(int w, int h) {
-                if ((type & ZOOM) != 0) {
-                    generatePts(w, h, zoom += zIncr);
-                }
-                if ((type & RI) != 0 || (type & RI) != 0) {
-                   rotate += rIncr;
-                }
-                if ((type & ACI) != 0 || (type & ACD) != 0) {
-                   alpha += aIncr;
-                }
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                Composite saveAC = null;
-                if ((type & AC) != 0 && alpha >= 0 && alpha <= 1) {
-                    saveAC = g2.getComposite();
-                    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
-                }
-                AffineTransform saveTx = null;
-                if ((type & R) != 0) {
-                    saveTx = g2.getTransform();
-                    AffineTransform at = new AffineTransform();
-                    at.rotate(Math.toRadians(rotate), w/2, h/2); 
-                    g2.setTransform(at);
-                }
-                Point2D p1 = new Point2D.Double(w/2, h/2);
-                g2.setColor(Color.yellow);
-                for (int i = 0; i < pts.size()-1; i++) {
-                    g2.draw(new Line2D.Float(p1, (Point2D) pts.get(i)));
-                }
-                if (saveTx != null) {
-                   g2.setTransform(saveTx);
-                }
-                if (saveAC != null) {
-                   g2.setComposite(saveAC);
-                }
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End LnE class
-
-
-
-        /**
-         * Template for Features & Contributors consisting of translating
-         * blue and red rectangles and an image going from transparent to
-         * opaque.
-         */
-        static class Temp implements Part {
-            static final int NOANIM = 1;
-            static final int RECT   = 2;
-            static final int RNA    = RECT | NOANIM;
-            static final int IMG    = 4;
-            static final int INA    = IMG | NOANIM;
-            private int beginning, ending;
-            private float alpha, aIncr;
-            private int type;
-            private Rectangle rect1, rect2;
-            private int x, y, xIncr, yIncr;
-            private Image img;
-
-
-            public Temp(int type, Image img, int beg, int end) {
-                this.type = type;
-                this.img = img;
-                this.beginning = beg;
-                this.ending = end;
-                aIncr = 0.9f / (ending - beginning);
-                if ((type & NOANIM) != 0) {
-                    alpha = 1.0f;
-                } 
-            }
-
-
-
-            public void reset(int w, int h) {
-                rect1 = new Rectangle(8, 20, w-20, 30);
-                rect2 = new Rectangle(20, 8, 30, h-20);
-                if ((type & NOANIM) == 0) {
-                    alpha = 0.0f;
-                    xIncr = w / (ending - beginning);
-                    yIncr = h / (ending - beginning);
-                    x = w+(int)(xIncr*1.4);
-                    y = h+(int)(yIncr*1.4);
-                }
-            }
-
-
-            public void step(int w, int h) {
-                if ((type & NOANIM) != 0) {
-                   return;
-                }
-                if ((type & RECT) != 0) {
-                    rect1.setLocation(x-=xIncr, 20);
-                    rect2.setLocation(20, y-=yIncr);
-                }
-                if ((type & IMG) != 0) {
-                    alpha += aIncr;
-                }
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                if ((type & RECT) != 0) {
-                    g2.setColor(blue);
-                    g2.fill(rect1);
-                    g2.setColor(red);
-                    g2.fill(rect2);
-                }
-                if ((type & IMG) != 0) {
-                    Composite saveAC = g2.getComposite();
-                    if (alpha >= 0 && alpha <= 1) {
-                        g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
-                    }
-                    g2.drawImage(img, 30, 30, null);
-                    g2.setComposite(saveAC);
-                }
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End Temp class
-
-
-
-        /**
-         * Features of Java2D.  Single character advancement effect.
-         */
-        static class Features implements Part {
-
-            static final int GRAPHICS = 0;
-            static final int TEXT = 1;
-            static final int IMAGES = 2;
-            static final int COLOR = 3;
-            static Font font1 = new Font("serif", Font.BOLD, 38);
-            static Font font2 = new Font("serif", Font.PLAIN, 24);
-            static FontMetrics fm1 = Surface.getMetrics(font1);
-            static FontMetrics fm2 = Surface.getMetrics(font2);
-            static String table[][] = 
-                {{ "Graphics", "Antialiased rendering", "Bezier paths", 
-                    "Transforms", "Compositing", "Stroking parameters" },
-                 { "Text", "Extended font support", 
-                   "Advanced text layout",  "Dynamic font loading",
-                   "AttributeSets for font customization" },
-                 { "Images", "Flexible image layouts",
-                    "Extended imaging operations", 
-                    "   Convolutions, Lookup Tables",
-                    "RenderableImage interface"},
-                 { "Color", "ICC profile support", "Color conversion", 
-                   "Arbitrary color spaces"} };
-            private String list[];
-            private int beginning, ending;
-            private int strH;
-            private int endIndex, listIndex;
-            private Vector v = new Vector();
-           
-
-            public Features(int type, int beg, int end) {
-                list = table[type];
-                this.beginning = beg;
-                this.ending = end;
-            }
-
-
-            public void reset(int w, int h) {
-                strH = (int) (fm2.getAscent()+fm2.getDescent());
-                endIndex = 1;
-                listIndex = 0;
-                v.clear();
-                v.addElement(list[listIndex].substring(0,endIndex));
-            }
-
-
-            public void step(int w, int h) {
-                if (listIndex < list.length) {
-                    if (++endIndex > list[listIndex].length()) {
-                        if (++listIndex < list.length) {
-                            endIndex = 1;
-                            v.addElement(list[listIndex].substring(0,endIndex));
-                        }
-                    } else {
-                        v.set(listIndex, list[listIndex].substring(0,endIndex));
-                    }
-                }
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                g2.setColor(white);
-                g2.setFont(font1);
-                g2.drawString((String) v.get(0), 90, 85);
-                g2.setFont(font2);
-                for (int i = 1, y = 90; i < v.size(); i++) {
-                    g2.drawString((String) v.get(i), 120, y += strH);
-                }
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End Features class
-
-
-
-        /**
-         * Scrolling text of Java2D contributors.
-         */
-        static class Contributors implements Part {
-
-            static String members[] = 
-            { 
-                "Brian Lichtenwalter", "Jeannette Hung", 
-                "Thanh Nguyen", "Jim Graham", "Jerry Evans", 
-                "John Raley", "Michael Peirce", "Robert Kim", 
-                "Jennifer Ball", "Deborah Adair", "Paul Charlton", 
-                "Dmitry Feld", "Gregory Stone", "Richard Blanchard", 
-                "Link Perry", "Phil Race", "Vincent Hardy", 
-                "Parry Kejriwal", "Doug Felt", "Rekha Rangarajan", 
-                "Paula Patel", "Michael Bundschuh", "Joe Warzecha", 
-                "Joey Beheler", "Aastha Bhardwaj", "Daniel Rice",
-                "Chris Campbell", "Shinsuke Fukuda", "Dmitri Trembovetski",
-                "Chet Haase", "Jennifer Godinez", "Nicholas Talian",
-                "Raul Vera", "Ankit Patel", "Ilya Bagrak"
-            };
-            static Font font = new Font("serif", Font.PLAIN, 26);
-            static FontMetrics fm = Surface.getMetrics(font);
-            private int beginning, ending;
-            private int nStrs, strH, index, yh, height;
-            private Vector v = new Vector();
-            private Vector cast = new Vector(members.length+3);
-            private int counter, cntMod;
-            private GradientPaint gp;
-
-
-            public Contributors(int beg, int end) {
-                this.beginning = beg;
-                this.ending = end;
-                java.util.Arrays.sort(members);
-                cast.addElement("CONTRIBUTORS");
-                cast.addElement(" ");
-                for (int i = 0; i < members.length; i++) {
-                    cast.addElement(members[i]);
-                }
-                cast.addElement(" "); cast.addElement(" ");
-                cntMod = (ending - beginning) / cast.size() - 1;
-            }
-
-
-            public void reset(int w, int h) {
-                v.clear();
-                strH = (int) (fm.getAscent()+fm.getDescent());
-                nStrs = (h-40)/strH + 1;
-                height = strH * (nStrs-1) + 48;
-                index = 0;
-                gp = new GradientPaint(0,h/2,Color.white,0,h+20,Color.black);
-                counter = 0;
-            }
-
-
-            public void step(int w, int h) {
-                if (counter++%cntMod == 0) {
-                    if (index < cast.size()) {
-                        v.addElement(cast.get(index));
-                    }
-                    if ((v.size() == nStrs || index >= cast.size()) && v.size() != 0) {
-                        v.removeElementAt(0);
-                    }
-                    ++index;
-                }
-            }
-
-
-            public void render(int w, int h, Graphics2D g2) {
-                g2.setPaint(gp);
-                g2.setFont(font);
-                double remainder = counter%cntMod;
-                double incr = 1.0-remainder/cntMod;
-                incr = incr == 1.0 ? 0 : incr;
-                int y = (int) (incr * strH);
-
-                if (index >= cast.size()) {
-                    y = yh + y; 
-                } else {
-                    y = yh = height - v.size() * strH + y;
-                }
-                for (int i = 0; i < v.size(); i++) {
-                    String s = (String) v.get(i);
-                    g2.drawString(s, w/2-fm.stringWidth(s)/2, y += strH);
-                }
-            }
-
-            public int getBegin() {
-                return beginning;
-            }
-
-            public int getEnd() {
-                return ending;
-            }
-        } // End Contributors class
-
-    } // End Surface class
-} // End Intro class
diff --git a/tests/examplefiles/java/Intro.java.output b/tests/examplefiles/java/Intro.java.output
deleted file mode 100644 (file)
index 8b3f112..0000000
+++ /dev/null
@@ -1,20022 +0,0 @@
-'/*\n * Copyright (c) 2003 Sun Microsystems, Inc. All  Rights Reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * \n * -Redistributions of source code must retain the above copyright\n *  notice, this list of conditions and the following disclaimer.\n * \n * -Redistribution in binary form must reproduct the above copyright\n *  notice, this list of conditions and the following disclaimer in\n *  the documentation and/or other materials provided with the distribution.\n * \n * Neither the name of Sun Microsystems, Inc. or the names of contributors\n * may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n * \n * This software is provided "AS IS," without a warranty of any kind. ALL\n * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING\n * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\n * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT\n * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT\n * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS\n * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST\n * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,\n * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY\n * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN\n * IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\n * \n * You acknowledge that Software is not designed, licensed or intended for\n * use in the design, construction, operation or maintenance of any nuclear\n * facility.\n */' Comment.Multiline
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'package'     Keyword.Namespace
-' '           Text
-'java2d'      Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.awt.*'  Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.awt.event.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.awt.geom.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.awt.image.BufferedImage' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.awt.image.DataBuffer' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.awt.font.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'javax.swing.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'javax.swing.border.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'javax.swing.table.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'javax.swing.event.*' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.util.Vector' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.util.List' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'import'      Keyword.Namespace
-' '           Text
-'java.util.Arrays' Name.Namespace
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'/**\n * Introduction to the Java2Demo.  \n *\n * @version @(#)Intro.java\t1.19 03/06/26\n * @author Brian Lichtenwalter\n */' Comment.Multiline
-'\n'          Text
-
-'public'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Intro'       Name.Class
-' '           Text
-'extends'     Keyword.Declaration
-' '           Text
-'JPanel'      Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'Color'       Name
-' '           Text
-'black'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Color'       Name
-'('           Punctuation
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'Color'       Name
-' '           Text
-'white'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Color'       Name
-'('           Punctuation
-'240'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'240'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'255'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'Color'       Name
-' '           Text
-'red'         Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Color'       Name
-'('           Punctuation
-'149'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'43'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'42'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'Color'       Name
-' '           Text
-'blue'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Color'       Name
-'('           Punctuation
-'94'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'105'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'176'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'Color'       Name
-' '           Text
-'yellow'      Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Color'       Name
-'('           Punctuation
-'255'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'255'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'140'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'Surface'     Name
-' '           Text
-'surface'     Name
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'private'     Keyword.Declaration
-' '           Text
-'ScenesTable' Name
-' '           Text
-'scenesTable' Name
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'private'     Keyword.Declaration
-' '           Text
-'boolean'     Keyword.Type
-' '           Text
-'doTable'     Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'public'      Keyword.Declaration
-' '           Text
-'Intro'       Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'        '    Text
-'EmptyBorder' Name
-' '           Text
-'eb'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'EmptyBorder' Name
-'('           Punctuation
-'80'          Literal.Number.Integer
-','           Punctuation
-'110'         Literal.Number.Integer
-','           Punctuation
-'80'          Literal.Number.Integer
-','           Punctuation
-'110'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'BevelBorder' Name
-' '           Text
-'bb'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'BevelBorder' Name
-'('           Punctuation
-'BevelBorder' Name
-'.'           Punctuation
-'LOWERED'     Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'setBorder'   Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'CompoundBorder' Name
-'('           Punctuation
-'eb'          Name
-','           Punctuation
-'bb'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'setLayout'   Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'BorderLayout' Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'setBackground' Name
-'('           Punctuation
-'Color'       Name
-'.'           Punctuation
-'gray'        Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'setToolTipText' Name
-'('           Punctuation
-'"'           Literal.String
-'click for scene table' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'add'         Name
-'('           Punctuation
-'surface'     Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Surface'     Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'addMouseListener' Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'MouseAdapter' Name
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'mouseClicked' Name.Function
-'('           Punctuation
-'MouseEvent'  Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'               ' Text
-'removeAll'   Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'               ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'doTable'     Name
-' '           Text
-'='           Operator
-' '           Text
-'!'           Operator
-'doTable'     Name
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'setToolTipText' Name
-'('           Punctuation
-'"'           Literal.String
-'click for animation' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'surface'     Name
-'.'           Punctuation
-'stop'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'scenesTable' Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                       ' Text
-'scenesTable' Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'ScenesTable' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'add'         Name
-'('           Punctuation
-'scenesTable' Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'               ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'setToolTipText' Name
-'('           Punctuation
-'"'           Literal.String
-'click for scene table' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'surface'     Name
-'.'           Punctuation
-'start'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'add'         Name
-'('           Punctuation
-'surface'     Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'               ' Text
-'}'           Punctuation
-'\n'          Text
-
-'               ' Text
-'revalidate'  Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'               ' Text
-'repaint'     Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'start'       Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'        '    Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'!'           Operator
-'doTable'     Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'surface'     Name
-'.'           Punctuation
-'start'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'    '        Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'stop'        Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'        '    Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'!'           Operator
-'doTable'     Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'           ' Text
-'surface'     Name
-'.'           Punctuation
-'stop'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'    '        Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'public'      Keyword.Declaration
-' '           Text
-'static'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'main'        Name.Function
-'('           Punctuation
-'String'      Name
-' '           Text
-'argv'        Name
-'['           Operator
-']'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'        '    Text
-'final'       Keyword.Declaration
-' '           Text
-'Intro'       Name
-' '           Text
-'intro'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Intro'       Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'WindowListener' Name
-' '           Text
-'l'           Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'WindowAdapter' Name
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'windowClosing' Name.Function
-'('           Punctuation
-'WindowEvent' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'System'      Name
-'.'           Punctuation
-'exit'        Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'windowDeiconified' Name.Function
-'('           Punctuation
-'WindowEvent' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'intro'       Name
-'.'           Punctuation
-'start'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'windowIconified' Name.Function
-'('           Punctuation
-'WindowEvent' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'intro'       Name
-'.'           Punctuation
-'stop'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'JFrame'      Name
-' '           Text
-'f'           Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'JFrame'      Name
-'('           Punctuation
-'"'           Literal.String
-'Java2D Demo - Intro' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'f'           Name
-'.'           Punctuation
-'addWindowListener' Name.Attribute
-'('           Punctuation
-'l'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'f'           Name
-'.'           Punctuation
-'getContentPane' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'add'         Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'Center'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'intro'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'f'           Name
-'.'           Punctuation
-'pack'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'Dimension'   Name
-' '           Text
-'screenSize'  Name
-' '           Text
-'='           Operator
-' '           Text
-'Toolkit'     Name
-'.'           Punctuation
-'getDefaultToolkit' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'getScreenSize' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-' '           Text
-'='           Operator
-' '           Text
-'720'         Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-' '           Text
-'='           Operator
-' '           Text
-'510'         Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'f'           Name
-'.'           Punctuation
-'setLocation' Name.Attribute
-'('           Punctuation
-'screenSize'  Name
-'.'           Punctuation
-'width'       Name.Attribute
-'/'           Operator
-'2'           Literal.Number.Integer
-' '           Text
-'-'           Operator
-' '           Text
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'screenSize'  Name
-'.'           Punctuation
-'height'      Name.Attribute
-'/'           Operator
-'2'           Literal.Number.Integer
-' '           Text
-'-'           Operator
-' '           Text
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'f'           Name
-'.'           Punctuation
-'setSize'     Name.Attribute
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'f'           Name
-'.'           Punctuation
-'setVisible'  Name.Attribute
-'('           Punctuation
-'true'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'intro'       Name
-'.'           Punctuation
-'start'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-"/**\n     * ScenesTable is the list of scenes known to the Director.\n     * Scene participation, scene name and scene pause amount columns.\n     * Global animation delay for scene's steps.\n     */" Comment.Multiline
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'ScenesTable' Name.Class
-' '           Text
-'extends'     Keyword.Declaration
-' '           Text
-'JPanel'      Name
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'ActionListener' Name
-','           Punctuation
-' '           Text
-'ChangeListener' Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'private'     Keyword.Declaration
-' '           Text
-'JTable'      Name
-' '           Text
-'table'       Name
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'private'     Keyword.Declaration
-' '           Text
-'TableModel'  Name
-' '           Text
-'dataModel'   Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'ScenesTable' Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'setBackground' Name
-'('           Punctuation
-'Color'       Name
-'.'           Punctuation
-'white'       Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'setLayout'   Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'BorderLayout' Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'final'       Keyword.Declaration
-' '           Text
-'String'      Name
-'['           Operator
-']'           Operator
-' '           Text
-'names'       Name
-' '           Text
-'='           Operator
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Scenes'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Pause'       Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'\n'          Text
-
-'            ' Text
-'dataModel'   Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'AbstractTableModel' Name
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getColumnCount' Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'return'      Keyword
-' '           Text
-'names'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getRowCount' Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'return'      Keyword
-' '           Text
-'surface'     Name
-'.'           Punctuation
-'director'    Name.Attribute
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Object'      Name
-' '           Text
-'getValueAt'  Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'row'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'col'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'Surface'     Name
-'.'           Punctuation
-'Scene'       Name.Attribute
-' '           Text
-'scene'       Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Surface'     Name
-'.'           Punctuation
-'Scene'       Name.Attribute
-')'           Punctuation
-' '           Text
-'surface'     Name
-'.'           Punctuation
-'director'    Name.Attribute
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'row'         Name
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'col'         Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'return'      Keyword
-' '           Text
-'scene'       Name
-'.'           Punctuation
-'participate' Name.Attribute
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'col'         Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'return'      Keyword
-' '           Text
-'scene'       Name
-'.'           Punctuation
-'name'        Name.Attribute
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-' '           Text
-'\n'          Text
-
-'                        ' Text
-'return'      Keyword
-' '           Text
-'scene'       Name
-'.'           Punctuation
-'pauseAmt'    Name.Attribute
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'String'      Name
-' '           Text
-'getColumnName' Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'col'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'return'      Keyword
-' '           Text
-'names'       Name
-'['           Operator
-'col'         Name
-']'           Operator
-';'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Class'       Name
-' '           Text
-'getColumnClass' Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'c'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'return'      Keyword
-' '           Text
-'getValueAt'  Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'c'           Name
-')'           Punctuation
-'.'           Punctuation
-'getClass'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'boolean'     Keyword.Type
-' '           Text
-'isCellEditable' Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'row'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'col'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'return'      Keyword
-' '           Text
-'col'         Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-' '           Text
-'?'           Operator
-' '           Text
-'true'        Keyword.Constant
-' '           Text
-':'           Punctuation
-' '           Text
-'false'       Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'setValueAt'  Name.Function
-'('           Punctuation
-'Object'      Name
-' '           Text
-'aValue'      Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'row'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'col'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Surface'     Name
-'.'           Punctuation
-'Scene'       Name.Attribute
-' '           Text
-'scene'       Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Surface'     Name
-'.'           Punctuation
-'Scene'       Name.Attribute
-')'           Punctuation
-' '           Text
-'surface'     Name
-'.'           Punctuation
-'director'    Name.Attribute
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'row'         Name
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'col'         Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'scene'       Name
-'.'           Punctuation
-'participate' Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'aValue'      Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'col'         Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'scene'       Name
-'.'           Punctuation
-'name'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'aValue'      Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-' '           Text
-'\n'          Text
-
-'                        ' Text
-'scene'       Name
-'.'           Punctuation
-'pauseAmt'    Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'aValue'      Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'\n'          Text
-
-'            ' Text
-'table'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'JTable'      Name
-'('           Punctuation
-'dataModel'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'TableColumn' Name
-' '           Text
-'col'         Name
-' '           Text
-'='           Operator
-' '           Text
-'table'       Name
-'.'           Punctuation
-'getColumn'   Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-'.'           Punctuation
-'setWidth'    Name.Attribute
-'('           Punctuation
-'16'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-'.'           Punctuation
-'setMinWidth' Name.Attribute
-'('           Punctuation
-'16'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-'.'           Punctuation
-'setMaxWidth' Name.Attribute
-'('           Punctuation
-'20'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-' '           Text
-'='           Operator
-' '           Text
-'table'       Name
-'.'           Punctuation
-'getColumn'   Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'Pause'       Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-'.'           Punctuation
-'setWidth'    Name.Attribute
-'('           Punctuation
-'60'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-'.'           Punctuation
-'setMinWidth' Name.Attribute
-'('           Punctuation
-'60'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'col'         Name
-'.'           Punctuation
-'setMaxWidth' Name.Attribute
-'('           Punctuation
-'60'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'table'       Name
-'.'           Punctuation
-'sizeColumnsToFit' Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'\n'          Text
-
-'            ' Text
-'JScrollPane' Name
-' '           Text
-'scrollpane'  Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'JScrollPane' Name
-'('           Punctuation
-'table'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'add'         Name
-'('           Punctuation
-'scrollpane'  Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-' '           Text
-'\n'          Text
-
-'            ' Text
-'JPanel'      Name
-' '           Text
-'panel'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'JPanel'      Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'BorderLayout' Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'JButton'     Name
-' '           Text
-'b'           Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'JButton'     Name
-'('           Punctuation
-'"'           Literal.String
-'Unselect All' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'b'           Name
-'.'           Punctuation
-'setHorizontalAlignment' Name.Attribute
-'('           Punctuation
-'JButton'     Name
-'.'           Punctuation
-'LEFT'        Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Font'        Name
-' '           Text
-'font'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'PLAIN'       Name.Attribute
-','           Punctuation
-' '           Text
-'10'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'b'           Name
-'.'           Punctuation
-'setFont'     Name.Attribute
-'('           Punctuation
-'font'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'b'           Name
-'.'           Punctuation
-'addActionListener' Name.Attribute
-'('           Punctuation
-'this'        Keyword
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'panel'       Name
-'.'           Punctuation
-'add'         Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'West'        Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'b'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'JSlider'     Name
-' '           Text
-'slider'      Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'JSlider'     Name
-'('           Punctuation
-'JSlider'     Name
-'.'           Punctuation
-'HORIZONTAL'  Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'200'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'surface'     Name
-'.'           Punctuation
-'sleepAmt'    Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'slider'      Name
-'.'           Punctuation
-'addChangeListener' Name.Attribute
-'('           Punctuation
-'this'        Keyword
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'TitledBorder' Name
-' '           Text
-'tb'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'TitledBorder' Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'EtchedBorder' Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'tb'          Name
-'.'           Punctuation
-'setTitleFont' Name.Attribute
-'('           Punctuation
-'font'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'tb'          Name
-'.'           Punctuation
-'setTitle'    Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'Anim delay = ' Literal.String
-'"'           Literal.String
-' '           Text
-'+'           Operator
-' '           Text
-'String'      Name
-'.'           Punctuation
-'valueOf'     Name.Attribute
-'('           Punctuation
-'surface'     Name
-'.'           Punctuation
-'sleepAmt'    Name.Attribute
-')'           Punctuation
-' '           Text
-'+'           Operator
-' '           Text
-'"'           Literal.String
-' ms'         Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'slider'      Name
-'.'           Punctuation
-'setBorder'   Name.Attribute
-'('           Punctuation
-'tb'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'slider'      Name
-'.'           Punctuation
-'setPreferredSize' Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Dimension'   Name
-'('           Punctuation
-'140'         Literal.Number.Integer
-','           Punctuation
-'40'          Literal.Number.Integer
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'slider'      Name
-'.'           Punctuation
-'setMinimumSize' Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Dimension'   Name
-'('           Punctuation
-'100'         Literal.Number.Integer
-','           Punctuation
-'40'          Literal.Number.Integer
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'slider'      Name
-'.'           Punctuation
-'setMaximumSize' Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Dimension'   Name
-'('           Punctuation
-'180'         Literal.Number.Integer
-','           Punctuation
-'40'          Literal.Number.Integer
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'panel'       Name
-'.'           Punctuation
-'add'         Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'East'        Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'slider'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'add'         Name
-'('           Punctuation
-'"'           Literal.String
-'South'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'panel'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'actionPerformed' Name.Function
-'('           Punctuation
-'ActionEvent' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'JButton'     Name
-' '           Text
-'b'           Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'JButton'     Name
-')'           Punctuation
-' '           Text
-'e'           Name
-'.'           Punctuation
-'getSource'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'b'           Name
-'.'           Punctuation
-'setSelected' Name.Attribute
-'('           Punctuation
-'!'           Operator
-'b'           Name
-'.'           Punctuation
-'isSelected'  Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'b'           Name
-'.'           Punctuation
-'setText'     Name.Attribute
-'('           Punctuation
-'b'           Name
-'.'           Punctuation
-'isSelected'  Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'?'           Operator
-' '           Text
-'"'           Literal.String
-'Select All'  Literal.String
-'"'           Literal.String
-' '           Text
-':'           Punctuation
-' '           Text
-'"'           Literal.String
-'Unselect All' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'surface'     Name
-'.'           Punctuation
-'director'    Name.Attribute
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Surface'     Name
-'.'           Punctuation
-'Scene'       Name.Attribute
-' '           Text
-'scene'       Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Surface'     Name
-'.'           Punctuation
-'Scene'       Name.Attribute
-')'           Punctuation
-' '           Text
-'surface'     Name
-'.'           Punctuation
-'director'    Name.Attribute
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'scene'       Name
-'.'           Punctuation
-'participate' Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Boolean'     Name
-'('           Punctuation
-'!'           Operator
-'b'           Name
-'.'           Punctuation
-'isSelected'  Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\t    '      Text
-'table'       Name
-'.'           Punctuation
-'tableChanged' Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'TableModelEvent' Name
-'('           Punctuation
-'dataModel'   Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'stateChanged' Name.Function
-'('           Punctuation
-'ChangeEvent' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'JSlider'     Name
-' '           Text
-'slider'      Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'JSlider'     Name
-')'           Punctuation
-' '           Text
-'e'           Name
-'.'           Punctuation
-'getSource'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'int'         Keyword.Type
-' '           Text
-'value'       Name
-' '           Text
-'='           Operator
-' '           Text
-'slider'      Name
-'.'           Punctuation
-'getValue'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'TitledBorder' Name
-' '           Text
-'tb'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'TitledBorder' Name
-')'           Punctuation
-' '           Text
-'slider'      Name
-'.'           Punctuation
-'getBorder'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'tb'          Name
-'.'           Punctuation
-'setTitle'    Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'Anim delay = ' Literal.String
-'"'           Literal.String
-' '           Text
-'+'           Operator
-' '           Text
-'String'      Name
-'.'           Punctuation
-'valueOf'     Name.Attribute
-'('           Punctuation
-'value'       Name
-')'           Punctuation
-' '           Text
-'+'           Operator
-' '           Text
-'"'           Literal.String
-' ms'         Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'surface'     Name
-'.'           Punctuation
-'sleepAmt'    Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'long'        Keyword.Type
-')'           Punctuation
-' '           Text
-'value'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'slider'      Name
-'.'           Punctuation
-'repaint'     Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'    '        Text
-'}'           Punctuation
-'  '          Text
-'// End ScenesTable class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'/**\n     * Surface is the stage where the Director plays its scenes.\n     */' Comment.Multiline
-'\n'          Text
-
-'    '        Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Surface'     Name.Class
-' '           Text
-'extends'     Keyword.Declaration
-' '           Text
-'JPanel'      Name
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Runnable'    Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'Surface'     Name
-' '           Text
-'surf'        Name
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'Image'       Name
-' '           Text
-'cupanim'     Name
-','           Punctuation
-' '           Text
-'java_logo'   Name
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'BufferedImage' Name
-' '           Text
-'bimg'        Name
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'Director'    Name
-' '           Text
-'director'    Name
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'long'        Keyword.Type
-' '           Text
-'sleepAmt'    Name
-' '           Text
-'='           Operator
-' '           Text
-'30'          Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'private'     Keyword.Declaration
-' '           Text
-'Thread'      Name
-' '           Text
-'thread'      Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'Surface'     Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'surf'        Name
-' '           Text
-'='           Operator
-' '           Text
-'this'        Keyword
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'setBackground' Name
-'('           Punctuation
-'black'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'setLayout'   Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'BorderLayout' Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'addMouseListener' Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'MouseAdapter' Name
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'mouseClicked' Name.Function
-'('           Punctuation
-'MouseEvent'  Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'start'       Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'stop'        Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'cupanim'     Name
-' '           Text
-'='           Operator
-' '           Text
-'DemoImages'  Name
-'.'           Punctuation
-'getImage'    Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'cupanim.gif' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'this'        Keyword
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'java_logo'   Name
-' '           Text
-'='           Operator
-' '           Text
-'DemoImages'  Name
-'.'           Punctuation
-'getImage'    Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'java_logo.png' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'this'        Keyword
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'director'    Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Director'    Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'FontMetrics' Name
-' '           Text
-'getMetrics'  Name.Function
-'('           Punctuation
-'Font'        Name
-' '           Text
-'font'        Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'return'      Keyword
-' '           Text
-'surf'        Name
-'.'           Punctuation
-'getFontMetrics' Name.Attribute
-'('           Punctuation
-'font'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'paint'       Name.Function
-'('           Punctuation
-'Graphics'    Name
-' '           Text
-'g'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Dimension'   Name
-' '           Text
-'d'           Name
-' '           Text
-'='           Operator
-' '           Text
-'getSize'     Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\t    '      Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\t\t'        Text
-'return'      Keyword
-';'           Punctuation
-'\n'          Text
-
-'\t    '      Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'bimg'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'getGraphicsConfiguration' Name
-'('           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'createCompatibleImage' Name.Attribute
-'('           Punctuation
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'  '          Text
-'\n'          Text
-
-'                ' Text
-'// reset future scenes\n' Comment.Single
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'index'       Name
-'+'           Operator
-'1'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'director'    Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'('           Punctuation
-'('           Punctuation
-'Scene'       Name
-')'           Punctuation
-' '           Text
-'director'    Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'reset'       Name.Attribute
-'('           Punctuation
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'Scene'       Name
-' '           Text
-'scene'       Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Scene'       Name
-')'           Punctuation
-' '           Text
-'director'    Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'index'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'scene'       Name
-'.'           Punctuation
-'index'       Name.Attribute
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'scene'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'scene'       Name
-'.'           Punctuation
-'step'        Name.Attribute
-'('           Punctuation
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'createGraphics' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setRenderingHint' Name.Attribute
-'('           Punctuation
-'RenderingHints' Name
-'.'           Punctuation
-'KEY_ANTIALIASING' Name.Attribute
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                                    ' Text
-'RenderingHints' Name
-'.'           Punctuation
-'VALUE_ANTIALIAS_ON' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setBackground' Name.Attribute
-'('           Punctuation
-'getBackground' Name
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'clearRect'   Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'    '        Text
-'\n'          Text
-
-'                ' Text
-'scene'       Name
-'.'           Punctuation
-'render'      Name.Attribute
-'('           Punctuation
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-','           Punctuation
-' '           Text
-'g2'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'// increment scene.index after scene.render\n' Comment.Single
-
-'                    ' Text
-'scene'       Name
-'.'           Punctuation
-'index'       Name.Attribute
-'+'           Operator
-'+'           Operator
-';'           Punctuation
-'      '      Text
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'dispose'     Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'g'           Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'bimg'        Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'this'        Keyword
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'start'       Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'thread'      Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Thread'      Name
-'('           Punctuation
-'this'        Keyword
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'thread'      Name
-'.'           Punctuation
-'setPriority' Name.Attribute
-'('           Punctuation
-'Thread'      Name
-'.'           Punctuation
-'MIN_PRIORITY' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'thread'      Name
-'.'           Punctuation
-'setName'     Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'Intro'       Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'thread'      Name
-'.'           Punctuation
-'start'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'    '        Text
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'synchronized' Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'stop'        Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'thread'      Name
-'.'           Punctuation
-'interrupt'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'thread'      Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'notifyAll'   Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Dimension'   Name
-' '           Text
-'d'           Name
-' '           Text
-'='           Operator
-' '           Text
-'getSize'     Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'director'    Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'('           Punctuation
-'('           Punctuation
-'Scene'       Name
-')'           Punctuation
-' '           Text
-'director'    Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'reset'       Name.Attribute
-'('           Punctuation
-'d'           Name
-'.'           Punctuation
-'width'       Name.Attribute
-','           Punctuation
-' '           Text
-'d'           Name
-'.'           Punctuation
-'height'      Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
-'\n'          Text
-
-'        '    Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'run'         Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'Thread'      Name
-' '           Text
-'me'          Name
-' '           Text
-'='           Operator
-' '           Text
-'Thread'      Name
-'.'           Punctuation
-'currentThread' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'while'       Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'me'          Name
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'!'           Operator
-'isShowing'   Name
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'getSize'     Name
-'('           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'width'       Name.Attribute
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'try'         Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'thread'      Name
-'.'           Punctuation
-'sleep'       Name.Attribute
-'('           Punctuation
-'500'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'catch'       Keyword
-' '           Text
-'('           Punctuation
-'InterruptedException' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'return'      Keyword
-';'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'index'       Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'reset'       Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'while'       Keyword
-' '           Text
-'('           Punctuation
-'thread'      Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'me'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Scene'       Name
-' '           Text
-'scene'       Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Scene'       Name
-')'           Punctuation
-' '           Text
-'director'    Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'index'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'('           Punctuation
-'Boolean'     Name
-')'           Punctuation
-' '           Text
-'scene'       Name
-'.'           Punctuation
-'participate' Name.Attribute
-')'           Punctuation
-'.'           Punctuation
-'booleanValue' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'repaint'     Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'try'         Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'thread'      Name
-'.'           Punctuation
-'sleep'       Name.Attribute
-'('           Punctuation
-'sleepAmt'    Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'catch'       Keyword
-' '           Text
-'('           Punctuation
-'InterruptedException' Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'break'       Keyword
-';'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'scene'       Name
-'.'           Punctuation
-'index'       Name.Attribute
-' '           Text
-'>'           Operator
-' '           Text
-'scene'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'scene'       Name
-'.'           Punctuation
-'pause'       Name.Attribute
-'('           Punctuation
-'thread'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'+'           Operator
-'+'           Operator
-'index'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'director'    Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'reset'       Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'+'           Operator
-'+'           Operator
-'index'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'director'    Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'reset'       Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'thread'      Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Part is a piece of the scene.  Classes must implement Part\n         * inorder to participate in a scene.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'interface'   Keyword.Declaration
-' '           Text
-'Part'        Name.Class
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'newwidth'    Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'newheight'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Director is the holder of the scenes, their names & pause amounts\n         * between scenes.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Director'    Name.Class
-' '           Text
-'extends'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'GradientPaint' Name
-' '           Text
-'gp'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'40'          Literal.Number.Integer
-','           Punctuation
-'blue'        Name
-','           Punctuation
-'38'          Literal.Number.Integer
-','           Punctuation
-'2'           Literal.Number.Integer
-','           Punctuation
-'black'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Font'        Name
-' '           Text
-'f1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'PLAIN'       Name.Attribute
-','           Punctuation
-' '           Text
-'200'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Font'        Name
-' '           Text
-'f2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'PLAIN'       Name.Attribute
-','           Punctuation
-' '           Text
-'120'         Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Font'        Name
-' '           Text
-'f3'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'PLAIN'       Name.Attribute
-','           Punctuation
-' '           Text
-'72'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'Object'      Name
-' '           Text
-'parts'       Name
-'['           Operator
-']'           Operator
-'['           Operator
-']'           Operator
-'['           Operator
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'J  -  scale text on gradient' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'BURI'        Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'J'           Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f1'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCI'         Name.Attribute
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'2  -  scale & rotate text on gradient' Literal.String
-'"'           Literal.String
-' '           Text
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'BURI'        Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'22'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'2'           Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f1'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'RI'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCI'         Name.Attribute
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'22'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'D  -  scale text on gradient' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'BURI'        Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'D'           Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f1'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCI'         Name.Attribute
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Java2D  -  scale & rotate text on gradient' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'1000'        Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'SIH'         Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'Java2D'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f2'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'RI'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCI'         Name.Attribute
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Previous scene dither dissolve out' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'DdE'         Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Graphics Features' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'999'         Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RECT'        Name.Attribute
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'IMG'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RNA'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'Temp'        Name
-'.'           Punctuation
-'INA'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'130'         Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Features'    Name
-'('           Punctuation
-'Features'    Name
-'.'           Punctuation
-'GRAPHICS'    Name.Attribute
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'130'         Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Java2D  -  texture text on gradient' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'1000'        Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'WI'          Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'WD'          Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'21'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'OI'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TpE'         Name
-'.'           Punctuation
-'NF'          Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'4'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'10'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'OD'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TpE'         Name
-'.'           Punctuation
-'NF'          Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'4'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'11'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'OI'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TpE'         Name
-'.'           Punctuation
-'NF'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TpE'         Name
-'.'           Punctuation
-'HAF'         Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-'5'           Literal.Number.Integer
-','           Punctuation
-'21'          Literal.Number.Integer
-','           Punctuation
-'40'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'Java2D'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f2'          Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Previous scene random close out' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'CoE'         Name
-'('           Punctuation
-'CoE'         Name
-'.'           Punctuation
-'RAND'        Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Text Features' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'999'         Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RECT'        Name.Attribute
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'IMG'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RNA'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'Temp'        Name
-'.'           Punctuation
-'INA'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'130'         Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Features'    Name
-'('           Punctuation
-'Features'    Name
-'.'           Punctuation
-'TEXT'        Name.Attribute
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'130'         Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Java2D  -  composite text on texture' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'1000'        Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'RI'          Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'gp'          Name
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'RD'          Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'gp'          Name
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'21'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'RI'          Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'gp'          Name
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'41'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'60'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'Java2D'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f2'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'AC'          Name.Attribute
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'60'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Previous scene dither dissolve out' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'DdE'         Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'4'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Imaging Features' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'999'         Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RECT'        Name.Attribute
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'IMG'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RNA'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'Temp'        Name
-'.'           Punctuation
-'INA'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'130'         Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Features'    Name
-'('           Punctuation
-'Features'    Name
-'.'           Punctuation
-'IMAGES'      Name.Attribute
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'130'         Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Java2D  -  text on gradient' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'1000'        Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'SDH'         Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'SIH'         Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'21'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'SDH'         Name.Attribute
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'41'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'50'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'INC'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'GpE'         Name
-'.'           Punctuation
-'NF'          Name.Attribute
-','           Punctuation
-' '           Text
-'red'         Name
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'50'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'Java2D'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f2'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'NOP'         Name.Attribute
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'50'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Previous scene ellipse close out' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'CoE'         Name
-'('           Punctuation
-'CoE'         Name
-'.'           Punctuation
-'OVAL'        Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Color Features' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'999'         Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RECT'        Name.Attribute
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'IMG'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'15'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RNA'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'Temp'        Name
-'.'           Punctuation
-'INA'         Name.Attribute
-','           Punctuation
-' '           Text
-'java_logo'   Name
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'99'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Features'    Name
-'('           Punctuation
-'Features'    Name
-'.'           Punctuation
-'COLOR'       Name.Attribute
-','           Punctuation
-' '           Text
-'16'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'99'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Java2D  -  composite and rotate text on paints' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'2000'        Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'BURI'        Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'GpE'         Name
-'('           Punctuation
-'GpE'         Name
-'.'           Punctuation
-'BURD'        Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'21'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TpE'         Name
-'('           Punctuation
-'TpE'         Name
-'.'           Punctuation
-'OI'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TpE'         Name
-'.'           Punctuation
-'HAF'         Name.Attribute
-','           Punctuation
-' '           Text
-'black'       Name
-','           Punctuation
-' '           Text
-'blue'        Name
-','           Punctuation
-' '           Text
-'10'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'31'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'Java2D'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f2'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'AC'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'RI'          Name.Attribute
-','           Punctuation
-' '           Text
-'yellow'      Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Previous scene subimage transform out' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'SiE'         Name
-'('           Punctuation
-'60'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'60'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'40'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'CREDITS  -  transform in' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'1000'        Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'LnE'         Name
-'('           Punctuation
-'LnE'         Name
-'.'           Punctuation
-'ACI'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'LnE'         Name
-'.'           Punctuation
-'ZOOMI'       Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'LnE'         Name
-'.'           Punctuation
-'RI'          Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'60'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'AC'          Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCI'         Name.Attribute
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-'20'          Literal.Number.Integer
-','           Punctuation
-'30'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCXD'        Name.Attribute
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-' '           Text
-'31'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'38'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCXI'        Name.Attribute
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-' '           Text
-'39'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'48'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCXD'        Name.Attribute
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-' '           Text
-'49'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'54'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCXI'        Name.Attribute
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-' '           Text
-'55'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'60'          Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'CREDITS  -  transform out' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'0'           Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'LnE'         Name
-'('           Punctuation
-'LnE'         Name
-'.'           Punctuation
-'ACD'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'LnE'         Name
-'.'           Punctuation
-'ZOOMD'       Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'LnE'         Name
-'.'           Punctuation
-'RD'          Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'45'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'9'           Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'TxE'         Name
-'('           Punctuation
-'"'           Literal.String
-'CREDITS'     Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'f3'          Name
-','           Punctuation
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'SCD'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'TxE'         Name
-'.'           Punctuation
-'RD'          Name.Attribute
-','           Punctuation
-' '           Text
-'Color'       Name
-'.'           Punctuation
-'red'         Name.Attribute
-','           Punctuation
-'10'          Literal.Number.Integer
-','           Punctuation
-'30'          Literal.Number.Integer
-')'           Punctuation
-'}'           Punctuation
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'               ' Text
-'{'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Contributors' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'1000'        Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RECT'        Name.Attribute
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'IMG'         Name.Attribute
-','           Punctuation
-' '           Text
-'cupanim'     Name
-','           Punctuation
-' '           Text
-'4'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Temp'        Name
-'('           Punctuation
-'Temp'        Name
-'.'           Punctuation
-'RNA'         Name.Attribute
-' '           Text
-'|'           Operator
-' '           Text
-'Temp'        Name
-'.'           Punctuation
-'INA'         Name.Attribute
-','           Punctuation
-' '           Text
-'cupanim'     Name
-','           Punctuation
-' '           Text
-'31'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'200'         Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'new'         Keyword
-' '           Text
-'Contributors' Name
-'('           Punctuation
-'34'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'200'         Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Director'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Vector'      Name
-' '           Text
-'v'           Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'j'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'j'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'parts'       Name
-'['           Operator
-'i'           Name
-']'           Operator
-'['           Operator
-'1'           Literal.Number.Integer
-']'           Operator
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'j'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'v'           Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'parts'       Name
-'['           Operator
-'i'           Name
-']'           Operator
-'['           Operator
-'1'           Literal.Number.Integer
-']'           Operator
-'['           Operator
-'j'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'addElement'  Name
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Scene'       Name
-'('           Punctuation
-'v'           Name
-','           Punctuation
-' '           Text
-'parts'       Name
-'['           Operator
-'i'           Name
-']'           Operator
-'['           Operator
-'0'           Literal.Number.Integer
-']'           Operator
-'['           Operator
-'0'           Literal.Number.Integer
-']'           Operator
-','           Punctuation
-' '           Text
-'parts'       Name
-'['           Operator
-'i'           Name
-']'           Operator
-'['           Operator
-'0'           Literal.Number.Integer
-']'           Operator
-'['           Operator
-'1'           Literal.Number.Integer
-']'           Operator
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Scene is the manager of the parts.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Scene'       Name.Class
-' '           Text
-'extends'     Keyword.Declaration
-' '           Text
-'Object'      Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Object'      Name
-' '           Text
-'name'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Object'      Name
-' '           Text
-'participate' Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Boolean'     Name
-'('           Punctuation
-'true'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Object'      Name
-' '           Text
-'pauseAmt'    Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'parts'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'length'      Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Scene'       Name.Function
-'('           Punctuation
-'Vector'      Name
-' '           Text
-'parts'       Name
-','           Punctuation
-' '           Text
-'Object'      Name
-' '           Text
-'name'        Name
-','           Punctuation
-' '           Text
-'Object'      Name
-' '           Text
-'pauseAmt'    Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'name'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'name'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'parts'       Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'parts'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'pauseAmt'    Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'pauseAmt'    Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'('           Punctuation
-'Part'        Name
-')'           Punctuation
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'getEnd'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'>'           Operator
-' '           Text
-'length'      Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'length'      Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'Part'        Name
-')'           Punctuation
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'getEnd'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'('           Punctuation
-'('           Punctuation
-'Part'        Name
-')'           Punctuation
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'reset'       Name.Attribute
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Part'        Name
-' '           Text
-'part'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Part'        Name
-')'           Punctuation
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'index'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'part'        Name
-'.'           Punctuation
-'getBegin'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'index'       Name
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'part'        Name
-'.'           Punctuation
-'getEnd'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'part'        Name
-'.'           Punctuation
-'step'        Name.Attribute
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Part'        Name
-' '           Text
-'part'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Part'        Name
-')'           Punctuation
-' '           Text
-'parts'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'index'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'part'        Name
-'.'           Punctuation
-'getBegin'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'index'       Name
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'part'        Name
-'.'           Punctuation
-'getEnd'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'part'        Name
-'.'           Punctuation
-'render'      Name.Attribute
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'g2'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'pause'       Name.Function
-'('           Punctuation
-'Thread'      Name
-' '           Text
-'thread'      Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'try'         Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'thread'      Name
-'.'           Punctuation
-'sleep'       Name.Attribute
-'('           Punctuation
-'Long'        Name
-'.'           Punctuation
-'parseLong'   Name.Attribute
-'('           Punctuation
-'('           Punctuation
-'String'      Name
-')'           Punctuation
-' '           Text
-'pauseAmt'    Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'catch'       Keyword
-' '           Text
-'('           Punctuation
-'Exception'   Name
-' '           Text
-'e'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-' '           Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'System'      Name
-'.'           Punctuation
-'gc'          Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End Scene class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Text Effect.  Transformation of characters.  Clip or fill.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'TxE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'INC'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'DEC'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'R'           Name
-'    '        Text
-'='           Operator
-' '           Text
-'4'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// rotate\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RI'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'R'           Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RD'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'R'           Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SC'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'8'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// scale\n'  Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCI'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'SC'          Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCD'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'SC'          Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'    '        Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCX'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'16'          Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'// scale invert x\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCXI'        Name
-' '           Text
-'='           Operator
-' '           Text
-'SCX'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'SC'          Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCXD'        Name
-' '           Text
-'='           Operator
-' '           Text
-'SCX'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'SC'          Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCY'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'// scale invert y\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCYI'        Name
-' '           Text
-'='           Operator
-' '           Text
-'SCY'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'SC'          Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SCYD'        Name
-' '           Text
-'='           Operator
-' '           Text
-'SCY'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'SC'          Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'AC'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'64'          Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'// AlphaComposite\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'CLIP'        Name
-' '           Text
-'='           Operator
-' '           Text
-'128'         Literal.Number.Integer
-';'           Punctuation
-'          '  Text
-'// Clipping\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'NOP'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'512'         Literal.Number.Integer
-';'           Punctuation
-'          '  Text
-'// No Paint \n' Comment.Single
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'rIncr'       Name
-','           Punctuation
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'sx'          Name
-','           Punctuation
-' '           Text
-'sy'          Name
-','           Punctuation
-' '           Text
-'rotate'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Shape'       Name
-' '           Text
-'shapes'      Name
-'['           Operator
-']'           Operator
-','           Punctuation
-' '           Text
-'txShapes'    Name
-'['           Operator
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'sw'          Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'numRev'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Paint'       Name
-' '           Text
-'paint'       Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'TxE'         Name.Function
-'('           Punctuation
-'String'      Name
-' '           Text
-'text'        Name
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                           ' Text
-'Font'        Name
-' '           Text
-'font'        Name
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                           ' Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                           ' Text
-'Paint'       Name
-' '           Text
-'paint'       Name
-','           Punctuation
-'\n'          Text
-
-'                           ' Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                           ' Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'type'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'paint'       Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'paint'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'setIncrements' Name
-'('           Punctuation
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'\n'          Text
-
-'                ' Text
-'char'        Keyword.Type
-'['           Operator
-']'           Operator
-' '           Text
-'chars'       Name
-' '           Text
-'='           Operator
-' '           Text
-'text'        Name
-'.'           Punctuation
-'toCharArray' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'shapes'      Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Shape'       Name
-'['           Operator
-'chars'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'txShapes'    Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Shape'       Name
-'['           Operator
-'chars'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'FontRenderContext' Name
-' '           Text
-'frc'         Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'FontRenderContext' Name
-'('           Punctuation
-'null'        Keyword.Constant
-','           Punctuation
-'true'        Keyword.Constant
-','           Punctuation
-'true'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'TextLayout'  Name
-' '           Text
-'tl'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'TextLayout'  Name
-'('           Punctuation
-'text'        Name
-','           Punctuation
-' '           Text
-'font'        Name
-','           Punctuation
-' '           Text
-'frc'         Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'sw'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'tl'          Name
-'.'           Punctuation
-'getOutline'  Name.Attribute
-'('           Punctuation
-'null'        Keyword.Constant
-')'           Punctuation
-'.'           Punctuation
-'getBounds'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'j'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'j'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'chars'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'j'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'String'      Name
-' '           Text
-'s'           Name
-' '           Text
-'='           Operator
-' '           Text
-'String'      Name
-'.'           Punctuation
-'valueOf'     Name.Attribute
-'('           Punctuation
-'chars'       Name
-'['           Operator
-'j'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'shapes'      Name
-'['           Operator
-'j'           Name
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'TextLayout'  Name
-'('           Punctuation
-'s'           Name
-','           Punctuation
-' '           Text
-'font'        Name
-','           Punctuation
-' '           Text
-'frc'         Name
-')'           Punctuation
-'.'           Punctuation
-'getOutline'  Name.Attribute
-'('           Punctuation
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'setIncrements' Name.Function
-'('           Punctuation
-'double'      Keyword.Type
-' '           Text
-'numRevolutions' Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'numRev'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'numRevolutions' Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'360.0'       Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-' '           Text
-'/'           Operator
-' '           Text
-'numRevolutions' Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'sIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SCX'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SCY'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'sIncr'       Name
-' '           Text
-'*'           Operator
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'rIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'sIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'SCXI'        Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'sx'          Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'1.0'         Literal.Number.Float
-';'           Punctuation
-'  '          Text
-'sy'          Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'SCYI'        Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'sx'          Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-';'           Punctuation
-'  '          Text
-'sy'          Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'1.0'         Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'sx'          Name
-' '           Text
-'='           Operator
-' '           Text
-'sy'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'?'           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-' '           Text
-':'           Punctuation
-' '           Text
-'0.0'         Literal.Number.Float
-';'           Punctuation
-'  '          Text
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rotate'      Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'       '     Text
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'        '    Text
-'\n'          Text
-
-'                ' Text
-'float'       Keyword.Type
-' '           Text
-'charWidth'   Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'sw'          Name
-'/'           Operator
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'shapes'      Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'AffineTransform' Name
-' '           Text
-'at'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'AffineTransform' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Rectangle2D' Name
-' '           Text
-'maxBounds'   Name
-' '           Text
-'='           Operator
-' '           Text
-'shapes'      Name
-'['           Operator
-'i'           Name
-']'           Operator
-'.'           Punctuation
-'getBounds'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'at'          Name
-'.'           Punctuation
-'translate'   Name.Attribute
-'('           Punctuation
-'charWidth'   Name
-','           Punctuation
-' '           Text
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'+'           Operator
-'maxBounds'   Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'charWidth'   Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'('           Punctuation
-'float'       Keyword.Type
-')'           Punctuation
-' '           Text
-'maxBounds'   Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'+'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Shape'       Name
-' '           Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'at'          Name
-'.'           Punctuation
-'createTransformedShape' Name.Attribute
-'('           Punctuation
-'shapes'      Name
-'['           Operator
-'i'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Rectangle2D' Name
-' '           Text
-'b1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'shape'       Name
-'.'           Punctuation
-'getBounds2D' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'        '    Text
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'R'           Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'at'          Name
-'.'           Punctuation
-'rotate'      Name.Attribute
-'('           Punctuation
-'Math'        Name
-'.'           Punctuation
-'toRadians'   Name.Attribute
-'('           Punctuation
-'rotate'      Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SC'          Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'at'          Name
-'.'           Punctuation
-'scale'       Name.Attribute
-'('           Punctuation
-'sx'          Name
-','           Punctuation
-' '           Text
-'sy'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'at'          Name
-'.'           Punctuation
-'createTransformedShape' Name.Attribute
-'('           Punctuation
-'shapes'      Name
-'['           Operator
-'i'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Rectangle2D' Name
-' '           Text
-'b2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'shape'       Name
-'.'           Punctuation
-'getBounds2D' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'      '      Text
-'\n'          Text
-
-'                    ' Text
-'double'      Keyword.Type
-' '           Text
-'xx'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'b1'          Name
-'.'           Punctuation
-'getX'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'b1'          Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-'\n'          Text
-
-'                                ' Text
-'-'           Operator
-' '           Text
-'('           Punctuation
-'b2'          Name
-'.'           Punctuation
-'getX'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'b2'          Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'double'      Keyword.Type
-' '           Text
-'yy'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'b1'          Name
-'.'           Punctuation
-'getY'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'b1'          Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-'\n'          Text
-
-'                                ' Text
-'-'           Operator
-' '           Text
-'('           Punctuation
-'b2'          Name
-'.'           Punctuation
-'getY'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'b2'          Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'AffineTransform' Name
-' '           Text
-'toCenterAT'  Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'AffineTransform' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'toCenterAT'  Name
-'.'           Punctuation
-'translate'   Name.Attribute
-'('           Punctuation
-'xx'          Name
-','           Punctuation
-' '           Text
-'yy'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'toCenterAT'  Name
-'.'           Punctuation
-'concatenate' Name.Attribute
-'('           Punctuation
-'at'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'txShapes'    Name
-'['           Operator
-'i'           Name
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'toCenterAT'  Name
-'.'           Punctuation
-'createTransformedShape' Name.Attribute
-'('           Punctuation
-'shapes'      Name
-'['           Operator
-'i'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'// avoid over rotation\n' Comment.Single
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'Math'        Name
-'.'           Punctuation
-'abs'         Name.Attribute
-'('           Punctuation
-'rotate'      Name
-')'           Punctuation
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'numRev'      Name
-' '           Text
-'*'           Operator
-' '           Text
-'360'         Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rotate'      Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'rIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SCX'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'sx'          Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SCY'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'sy'          Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'sx'          Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-' '           Text
-'sy'          Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Composite'   Name
-' '           Text
-'saveAC'      Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'AC'          Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'sx'          Name
-' '           Text
-'>'           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'sx'          Name
-' '           Text
-'<'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'saveAC'      Name
-' '           Text
-'='           Operator
-' '           Text
-'g2'          Name
-'.'           Punctuation
-'getComposite' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setComposite' Name.Attribute
-'('           Punctuation
-'AlphaComposite' Name
-'.'           Punctuation
-'getInstance' Name.Attribute
-'('           Punctuation
-'AlphaComposite' Name
-'.'           Punctuation
-'SRC_OVER'    Name.Attribute
-','           Punctuation
-' '           Text
-'('           Punctuation
-'float'       Keyword.Type
-')'           Punctuation
-' '           Text
-'sx'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'GeneralPath' Name
-' '           Text
-'path'        Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'CLIP'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'path'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'GeneralPath' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'paint'       Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setPaint'    Name.Attribute
-'('           Punctuation
-'paint'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'txShapes'    Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'CLIP'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                       ' Text
-'path'        Name
-'.'           Punctuation
-'append'      Name.Attribute
-'('           Punctuation
-'txShapes'    Name
-'['           Operator
-'i'           Name
-']'           Operator
-','           Punctuation
-' '           Text
-'false'       Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                       ' Text
-'g2'          Name
-'.'           Punctuation
-'fill'        Name.Attribute
-'('           Punctuation
-'txShapes'    Name
-'['           Operator
-'i'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'CLIP'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'clip'        Name.Attribute
-'('           Punctuation
-'path'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'saveAC'      Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'g2'          Name
-'.'           Punctuation
-'setComposite' Name.Attribute
-'('           Punctuation
-'saveAC'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End TxE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * GradientPaint Effect.  Burst, split, horizontal and \n         * vertical gradient fill effects.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'GpE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'INC'         Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// increasing\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'DEC'         Name
-' '           Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// decreasing\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'CNT'         Name
-' '           Text
-'='           Operator
-' '           Text
-'4'           Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// center\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'WID'         Name
-' '           Text
-'='           Operator
-' '           Text
-'8'           Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// width \n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'WI'          Name
-'  '          Text
-'='           Operator
-' '           Text
-'WID'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'             ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'WD'          Name
-'  '          Text
-'='           Operator
-' '           Text
-'WID'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'            ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'HEI'         Name
-' '           Text
-'='           Operator
-' '           Text
-'16'          Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// height\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'HI'          Name
-'  '          Text
-'='           Operator
-' '           Text
-'HEI'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'            ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'HD'          Name
-'  '          Text
-'='           Operator
-' '           Text
-'HEI'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'            ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SPL'         Name
-' '           Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-' '           Text
-'|'           Operator
-' '           Text
-'CNT'         Name
-';'           Punctuation
-'      '      Text
-'// split \n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SIW'         Name
-' '           Text
-'='           Operator
-' '           Text
-'SPL'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'WID'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SDW'         Name
-' '           Text
-'='           Operator
-' '           Text
-'SPL'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'WID'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SIH'         Name
-' '           Text
-'='           Operator
-' '           Text
-'SPL'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'HEI'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'SDH'         Name
-' '           Text
-'='           Operator
-' '           Text
-'SPL'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'HEI'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'BUR'         Name
-' '           Text
-'='           Operator
-' '           Text
-'64'          Literal.Number.Integer
-' '           Text
-'|'           Operator
-' '           Text
-'CNT'         Name
-';'           Punctuation
-'     '       Text
-'// burst \n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'BURI'        Name
-' '           Text
-'='           Operator
-' '           Text
-'BUR'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'    '        Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'BURD'        Name
-' '           Text
-'='           Operator
-' '           Text
-'BUR'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'   '         Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'NF'          Name
-' '           Text
-'='           Operator
-' '           Text
-'128'         Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'// no fill\n' Comment.Single
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Color'       Name
-' '           Text
-'c1'          Name
-','           Punctuation
-' '           Text
-'c2'          Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'float'       Keyword.Type
-' '           Text
-'incr'        Name
-','           Punctuation
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'rect'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'grad'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'GpE'         Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'Color'       Name
-' '           Text
-'c1'          Name
-','           Punctuation
-' '           Text
-'Color'       Name
-' '           Text
-'c2'          Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'type'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'c1'          Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'c1'          Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'c2'          Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'c2'          Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'incr'        Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0f'        Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'CNT'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'incr'        Name
-' '           Text
-'/'           Operator
-'='           Operator
-' '           Text
-'2.3f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'CNT'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'INC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0.5f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'incr'        Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0.0f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'index'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'       '     Text
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rect'        Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'grad'        Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'WID'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'w2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'x1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'x2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SPL'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'w2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'0.5f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'x1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'('           Punctuation
-'1.0f'        Literal.Number.Float
-' '           Text
-'-'           Operator
-' '           Text
-'index'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'x2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'w2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'x1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'x2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w2'          Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w2'          Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'w2'          Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w'           Name
-'-'           Operator
-'w2'          Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'x1'          Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'x2'          Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c2'          Name
-','           Punctuation
-'w'           Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c1'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'HEI'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'h2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'y1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'y2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'SPL'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'h2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'0.5f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'y1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'('           Punctuation
-'1.0f'        Literal.Number.Float
-' '           Text
-'-'           Operator
-' '           Text
-'index'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'y2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'h2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'y1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'y2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h2'          Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'h2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'h2'          Name
-','           Punctuation
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-'-'           Operator
-'h2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'y1'          Name
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'y2'          Name
-','           Punctuation
-'c2'          Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-','           Punctuation
-'c1'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'BUR'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'w2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'h2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w2'          Name
-','           Punctuation
-' '           Text
-'h2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'w2'          Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w2'          Name
-','           Punctuation
-' '           Text
-'h2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'h2'          Name
-','           Punctuation
-' '           Text
-'w2'          Name
-','           Punctuation
-' '           Text
-'h2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'w2'          Name
-','           Punctuation
-' '           Text
-'h2'          Name
-','           Punctuation
-' '           Text
-'w2'          Name
-','           Punctuation
-' '           Text
-'h2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'x1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'('           Punctuation
-'1.0f'        Literal.Number.Float
-' '           Text
-'-'           Operator
-' '           Text
-'index'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'x2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'y1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'('           Punctuation
-'1.0f'        Literal.Number.Float
-' '           Text
-'-'           Operator
-' '           Text
-'index'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'y2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'x1'          Name
-','           Punctuation
-'y1'          Name
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'w'           Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'x2'          Name
-','           Punctuation
-'y1'          Name
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'x1'          Name
-','           Punctuation
-'y2'          Name
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'w'           Name
-','           Punctuation
-'h'           Name
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'x2'          Name
-','           Punctuation
-'y2'          Name
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'NF'          Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'x'           Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'float'       Keyword.Type
-' '           Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'*'           Operator
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'grad'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'c1'          Name
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'y'           Name
-','           Punctuation
-'c2'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'INC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'index'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setRenderingHint' Name.Attribute
-'('           Punctuation
-'RenderingHints' Name
-'.'           Punctuation
-'KEY_ANTIALIASING' Name.Attribute
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                                ' Text
-'RenderingHints' Name
-'.'           Punctuation
-'VALUE_ANTIALIAS_OFF' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'grad'        Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setPaint'    Name.Attribute
-'('           Punctuation
-'('           Punctuation
-'GradientPaint' Name
-')'           Punctuation
-' '           Text
-'grad'        Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'NF'          Name
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'g2'          Name
-'.'           Punctuation
-'fill'        Name.Attribute
-'('           Punctuation
-'('           Punctuation
-'Rectangle2D' Name
-')'           Punctuation
-' '           Text
-'rect'        Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setRenderingHint' Name.Attribute
-'('           Punctuation
-'RenderingHints' Name
-'.'           Punctuation
-'KEY_ANTIALIASING' Name.Attribute
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                                ' Text
-'RenderingHints' Name
-'.'           Punctuation
-'VALUE_ANTIALIAS_ON' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End GpE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * TexturePaint Effect.  Expand and collapse a texture. \n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'TpE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'INC'         Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// increasing\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'DEC'         Name
-' '           Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// decreasing\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'OVAL'        Name
-' '           Text
-'='           Operator
-' '           Text
-'4'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// oval\n'   Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RECT'        Name
-' '           Text
-'='           Operator
-' '           Text
-'8'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// rectangle \n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'HAF'         Name
-' '           Text
-'='           Operator
-' '           Text
-'16'          Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// half oval or rect size\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'OI'          Name
-' '           Text
-'='           Operator
-' '           Text
-'OVAL'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'OD'          Name
-' '           Text
-'='           Operator
-' '           Text
-'OVAL'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RI'          Name
-' '           Text
-'='           Operator
-' '           Text
-'RECT'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RD'          Name
-' '           Text
-'='           Operator
-' '           Text
-'RECT'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'NF'          Name
-' '           Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// no fill \n' Comment.Single
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Paint'       Name
-' '           Text
-'p1'          Name
-','           Punctuation
-' '           Text
-'p2'          Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'float'       Keyword.Type
-' '           Text
-'incr'        Name
-','           Punctuation
-' '           Text
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'TexturePaint' Name
-' '           Text
-'texture'     Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'size'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'BufferedImage' Name
-' '           Text
-'bimg'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Rectangle'   Name
-' '           Text
-'rect'        Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'TpE'         Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'Paint'       Name
-' '           Text
-'p1'          Name
-','           Punctuation
-' '           Text
-'Paint'       Name
-' '           Text
-'p2'          Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'size'        Name
-','           Punctuation
-'\n'          Text
-
-'                                   ' Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'type'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'p1'          Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'p1'          Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'p2'          Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'p2'          Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'setTextureSize' Name
-'('           Punctuation
-'size'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'setTextureSize' Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'size'        Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'size'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'size'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'BufferedImage' Name
-'('           Punctuation
-'size'        Name
-','           Punctuation
-'size'        Name
-','           Punctuation
-'BufferedImage' Name
-'.'           Punctuation
-'TYPE_INT_RGB' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rect'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle'   Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'size'        Name
-','           Punctuation
-'size'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'incr'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'float'       Keyword.Type
-')'           Punctuation
-' '           Text
-'('           Punctuation
-'size'        Name
-')'           Punctuation
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'float'       Keyword.Type
-')'           Punctuation
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'HAF'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'incr'        Name
-' '           Text
-'/'           Operator
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'size'        Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'HAF'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                       ' Text
-'index'       Name
-' '           Text
-'/'           Operator
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'incr'        Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0.0f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'index'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'       '     Text
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'createGraphics' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setPaint'    Name.Attribute
-'('           Punctuation
-'p1'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'fillRect'    Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'size'        Name
-','           Punctuation
-'size'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setPaint'    Name.Attribute
-'('           Punctuation
-'p2'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'OVAL'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'fill'        Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Ellipse2D'   Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'index'       Name
-','           Punctuation
-'index'       Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RECT'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'fill'        Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'index'       Name
-','           Punctuation
-'index'       Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'texture'     Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'TexturePaint' Name
-'('           Punctuation
-'bimg'        Name
-','           Punctuation
-' '           Text
-'rect'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'dispose'     Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'index'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setPaint'    Name.Attribute
-'('           Punctuation
-'texture'     Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'NF'          Name
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'fillRect'    Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End TpE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Close out effect.  Close out the buffered image with different \n         * geometry shapes.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'CoE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'WID'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'HEI'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'OVAL'        Name
-' '           Text
-'='           Operator
-' '           Text
-'4'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RECT'        Name
-' '           Text
-'='           Operator
-' '           Text
-'8'           Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RAND'        Name
-' '           Text
-'='           Operator
-' '           Text
-'16'          Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'ARC'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-';'           Punctuation
-'           ' Text
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'BufferedImage' Name
-' '           Text
-'bimg'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Shape'       Name
-' '           Text
-'shape'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'zoom'        Name
-','           Punctuation
-' '           Text
-'extent'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'zIncr'       Name
-','           Punctuation
-' '           Text
-'eIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'boolean'     Keyword.Type
-' '           Text
-'doRandom'    Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'CoE'         Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'type'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'zIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'('           Punctuation
-'2.0'         Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'eIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'360.0'       Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'doRandom'    Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RAND'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'doRandom'    Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'num'         Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'('           Punctuation
-'Math'        Name
-'.'           Punctuation
-'random'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'*'           Operator
-' '           Text
-'5.0'         Literal.Number.Float
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'switch'      Keyword
-' '           Text
-'('           Punctuation
-'num'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-':'           Punctuation
-' '           Text
-'type'        Name
-' '           Text
-'='           Operator
-' '           Text
-'OVAL'        Name
-';'           Punctuation
-' '           Text
-'break'       Keyword
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'1'           Literal.Number.Integer
-' '           Text
-':'           Punctuation
-' '           Text
-'type'        Name
-' '           Text
-'='           Operator
-' '           Text
-'RECT'        Name
-';'           Punctuation
-' '           Text
-'break'       Keyword
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'2'           Literal.Number.Integer
-' '           Text
-':'           Punctuation
-' '           Text
-'type'        Name
-' '           Text
-'='           Operator
-' '           Text
-'RECT'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'WID'         Name
-';'           Punctuation
-' '           Text
-'break'       Keyword
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'3'           Literal.Number.Integer
-' '           Text
-':'           Punctuation
-' '           Text
-'type'        Name
-' '           Text
-'='           Operator
-' '           Text
-'RECT'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'HEI'         Name
-';'           Punctuation
-' '           Text
-'break'       Keyword
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'4'           Literal.Number.Integer
-' '           Text
-':'           Punctuation
-' '           Text
-'type'        Name
-' '           Text
-'='           Operator
-' '           Text
-'ARC'         Name
-';'           Punctuation
-' '           Text
-'break'       Keyword
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'default'     Keyword
-' '           Text
-':'           Punctuation
-' '           Text
-'type'        Name
-' '           Text
-'='           Operator
-' '           Text
-'OVAL'        Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'extent'      Name
-' '           Text
-'='           Operator
-' '           Text
-'360.0'       Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'zoom'        Name
-' '           Text
-'='           Operator
-' '           Text
-'2.0'         Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'bimg'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'biw'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'bih'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'BufferedImage' Name
-'('           Punctuation
-'biw'         Name
-','           Punctuation
-' '           Text
-'bih'         Name
-','           Punctuation
-' '           Text
-'BufferedImage' Name
-'.'           Punctuation
-'TYPE_INT_RGB' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Graphics2D'  Name
-' '           Text
-'big'         Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'createGraphics' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'big'         Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'double'      Keyword.Type
-' '           Text
-'z'           Name
-' '           Text
-'='           Operator
-' '           Text
-'Math'        Name
-'.'           Punctuation
-'min'         Name.Attribute
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'*'           Operator
-' '           Text
-'zoom'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'OVAL'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Ellipse2D'   Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'z'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'z'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'z'           Name
-','           Punctuation
-'z'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'ARC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Arc2D'       Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'-'           Operator
-'100'         Literal.Number.Integer
-','           Punctuation
-'-'           Operator
-'100'         Literal.Number.Integer
-','           Punctuation
-'w'           Name
-'+'           Operator
-'200'         Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'+'           Operator
-'200'         Literal.Number.Integer
-','           Punctuation
-'90'          Literal.Number.Integer
-','           Punctuation
-'extent'      Name
-','           Punctuation
-'Arc2D'       Name
-'.'           Punctuation
-'PIE'         Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'extent'      Name
-' '           Text
-'-'           Operator
-'='           Operator
-' '           Text
-'eIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RECT'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'WID'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'z'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'z'           Name
-','           Punctuation
-'h'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'HEI'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'z'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'w'           Name
-','           Punctuation
-'z'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle2D' Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'z'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'z'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'z'           Name
-','           Punctuation
-'z'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'zoom'        Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'zIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'clip'        Name.Attribute
-'('           Punctuation
-'shape'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'bimg'        Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End CoE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Dither Dissolve Effect. For each successive step in the animation, \n         * a pseudo-random starting horizontal position is chosen using list, \n         * and then the corresponding points created from xlist and ylist are\n         * blacked out for the current "chunk".  The x and y chunk starting\n         * positions are each incremented by the associated chunk size, and \n         * this process is repeated for the number of "steps" in the \n         * animation, causing an equal number of pseudo-randomly picked \n         * "blocks" to be blacked out during each step of the animation.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'DdE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'BufferedImage' Name
-' '           Text
-'bimg'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'big'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'List'        Name
-' '           Text
-'list'        Name
-','           Punctuation
-' '           Text
-'xlist'       Name
-','           Punctuation
-' '           Text
-'ylist'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'xeNum'       Name
-','           Punctuation
-' '           Text
-'yeNum'       Name
-';'           Punctuation
-'    '        Text
-'// element number\n' Comment.Single
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'xcSize'      Name
-','           Punctuation
-' '           Text
-'ycSize'      Name
-';'           Punctuation
-'  '          Text
-'// chunk size\n' Comment.Single
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'inc'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'blocksize'   Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'DdE'         Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'blocksize'   Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'blocksize'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'blocksize'   Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'createShuffledLists' Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'int'         Keyword.Type
-' '           Text
-'width'       Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'int'         Keyword.Type
-' '           Text
-'height'      Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Integer'     Name
-' '           Text
-'xarray'      Name
-'['           Operator
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Integer'     Name
-'['           Operator
-'width'       Name
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Integer'     Name
-' '           Text
-'yarray'      Name
-'['           Operator
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Integer'     Name
-'['           Operator
-'height'      Name
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Integer'     Name
-' '           Text
-'array'       Name
-'['           Operator
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Integer'     Name
-'['           Operator
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-' '           Text
-'+'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'xarray'      Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'xarray'      Name
-'['           Operator
-'i'           Name
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Integer'     Name
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'j'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'j'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'yarray'      Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'j'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'yarray'      Name
-'['           Operator
-'j'           Name
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Integer'     Name
-'('           Punctuation
-'j'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'k'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'k'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'array'       Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'k'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'array'       Name
-'['           Operator
-'k'           Name
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Integer'     Name
-'('           Punctuation
-'k'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'java'        Name
-'.'           Punctuation
-'util'        Name.Attribute
-'.'           Punctuation
-'Collections' Name.Attribute
-'.'           Punctuation
-'shuffle'     Name.Attribute
-'('           Punctuation
-'xlist'       Name
-' '           Text
-'='           Operator
-' '           Text
-'Arrays'      Name
-'.'           Punctuation
-'asList'      Name.Attribute
-'('           Punctuation
-'xarray'      Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'java'        Name
-'.'           Punctuation
-'util'        Name.Attribute
-'.'           Punctuation
-'Collections' Name.Attribute
-'.'           Punctuation
-'shuffle'     Name.Attribute
-'('           Punctuation
-'ylist'       Name
-' '           Text
-'='           Operator
-' '           Text
-'Arrays'      Name
-'.'           Punctuation
-'asList'      Name.Attribute
-'('           Punctuation
-'yarray'      Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'java'        Name
-'.'           Punctuation
-'util'        Name.Attribute
-'.'           Punctuation
-'Collections' Name.Attribute
-'.'           Punctuation
-'shuffle'     Name.Attribute
-'('           Punctuation
-'list'        Name
-' '           Text
-'='           Operator
-' '           Text
-'Arrays'      Name
-'.'           Punctuation
-'asList'      Name.Attribute
-'('           Punctuation
-'array'       Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'bimg'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'biw'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'bih'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'BufferedImage' Name
-'('           Punctuation
-'biw'         Name
-','           Punctuation
-' '           Text
-'bih'         Name
-','           Punctuation
-' '           Text
-'BufferedImage' Name
-'.'           Punctuation
-'TYPE_INT_RGB' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'createShuffledLists' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'big'         Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'createGraphics' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'big'         Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'xcSize'      Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'xlist'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'+'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'ycSize'      Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'ylist'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'+'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'xeNum'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'inc'         Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'xeNum'       Name
-' '           Text
-'='           Operator
-' '           Text
-'xcSize'      Name
-' '           Text
-'*'           Operator
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'Integer'     Name
-')'           Punctuation
-'list'        Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'inc'         Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'intValue'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'yeNum'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'ycSize'      Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'inc'         Name
-'+'           Operator
-'+'           Operator
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'big'         Name
-'.'           Punctuation
-'setColor'    Name.Attribute
-'('           Punctuation
-'black'       Name
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'k'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'k'           Name
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'k'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'xeNum'       Name
-' '           Text
-'+'           Operator
-' '           Text
-'xcSize'      Name
-')'           Punctuation
-' '           Text
-'>'           Operator
-' '           Text
-'xlist'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'xeNum'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'xeNum'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'xcSize'      Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'yeNum'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'ycSize'      Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'xeNum'       Name
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'xeNum'       Name
-'+'           Operator
-'xcSize'      Name
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'xlist'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'j'           Name
-' '           Text
-'='           Operator
-' '           Text
-'yeNum'       Name
-';'           Punctuation
-' '           Text
-'j'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'yeNum'       Name
-'+'           Operator
-'ycSize'      Name
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'j'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'ylist'       Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'j'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'   '         Text
-'\n'          Text
-
-'                            ' Text
-'int'         Keyword.Type
-' '           Text
-'xval'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'Integer'     Name
-')'           Punctuation
-'xlist'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'intValue'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'int'         Keyword.Type
-' '           Text
-'yval'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'Integer'     Name
-')'           Punctuation
-'ylist'       Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'j'           Name
-')'           Punctuation
-')'           Punctuation
-'.'           Punctuation
-'intValue'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'('           Punctuation
-'xval'        Name
-' '           Text
-'%'           Operator
-' '           Text
-'blocksize'   Name
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'&'           Operator
-'&'           Operator
-'\n'          Text
-
-'                                ' Text
-'('           Punctuation
-'('           Punctuation
-'yval'        Name
-' '           Text
-'%'           Operator
-' '           Text
-'blocksize'   Name
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                                ' Text
-'big'         Name
-'.'           Punctuation
-'fillRect'    Name.Attribute
-'('           Punctuation
-'xval'        Name
-','           Punctuation
-' '           Text
-'yval'        Name
-','           Punctuation
-' '           Text
-'blocksize'   Name
-','           Punctuation
-' '           Text
-'blocksize'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'           ' Text
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'bimg'        Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End DdE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-"/**\n         * Subimage effect.  Subimage the scene's buffered\n         * image then rotate and scale down the subimages.\n         */" Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'SiE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'BufferedImage' Name
-' '           Text
-'bimg'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'rIncr'       Name
-','           Punctuation
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'scale'       Name
-','           Punctuation
-' '           Text
-'rotate'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'siw'         Name
-','           Punctuation
-' '           Text
-'sih'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'subs'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-'20'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'pts'         Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-'20'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'SiE'         Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'siw'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'sih'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'siw'         Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'siw'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'sih'         Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'sih'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'360.0'       Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'sIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'scale'       Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-';'           Punctuation
-'  '          Text
-'\n'          Text
-
-'                ' Text
-'rotate'      Name
-' '           Text
-'='           Operator
-' '           Text
-'0.0'         Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'subs'        Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'pts'         Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'bimg'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'biw'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'bih'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'bimg'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'BufferedImage' Name
-'('           Punctuation
-'biw'         Name
-','           Punctuation
-' '           Text
-'bih'         Name
-','           Punctuation
-' '           Text
-'BufferedImage' Name
-'.'           Punctuation
-'TYPE_INT_RGB' Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Graphics2D'  Name
-' '           Text
-'big'         Name
-' '           Text
-'='           Operator
-' '           Text
-'bimg'        Name
-'.'           Punctuation
-'createGraphics' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'big'         Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'Surface'     Name
-'.'           Punctuation
-'bimg'        Name.Attribute
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'x'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'x'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'w'           Name
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'scale'       Name
-' '           Text
-'>'           Operator
-' '           Text
-'0.0'         Literal.Number.Float
-';'           Punctuation
-' '           Text
-'x'           Name
-'+'           Operator
-'='           Operator
-'siw'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'int'         Keyword.Type
-' '           Text
-'ww'          Name
-' '           Text
-'='           Operator
-' '           Text
-'x'           Name
-'+'           Operator
-'siw'         Name
-' '           Text
-'<'           Operator
-' '           Text
-'w'           Name
-' '           Text
-'?'           Operator
-' '           Text
-'siw'         Name
-' '           Text
-':'           Punctuation
-' '           Text
-'w'           Name
-'-'           Operator
-'x'           Name
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'y'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'h'           Name
-';'           Punctuation
-' '           Text
-'y'           Name
-'+'           Operator
-'='           Operator
-'sih'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'int'         Keyword.Type
-' '           Text
-'hh'          Name
-' '           Text
-'='           Operator
-' '           Text
-'y'           Name
-'+'           Operator
-'sih'         Name
-' '           Text
-'<'           Operator
-' '           Text
-'h'           Name
-' '           Text
-'?'           Operator
-' '           Text
-'sih'         Name
-' '           Text
-':'           Punctuation
-' '           Text
-'h'           Name
-'-'           Operator
-'y'           Name
-';'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'subs'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'bimg'        Name
-'.'           Punctuation
-'getSubimage' Name.Attribute
-'('           Punctuation
-'x'           Name
-','           Punctuation
-'y'           Name
-','           Punctuation
-'ww'          Name
-','           Punctuation
-'hh'          Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'    '        Text
-'\n'          Text
-
-'                            ' Text
-'pts'         Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Point'       Name
-'('           Punctuation
-'x'           Name
-','           Punctuation
-' '           Text
-'y'           Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'\n'          Text
-
-'                ' Text
-'rotate'      Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'rIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'scale'       Name
-' '           Text
-'-'           Operator
-'='           Operator
-' '           Text
-'sIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'AffineTransform' Name
-' '           Text
-'saveTx'      Name
-' '           Text
-'='           Operator
-' '           Text
-'g2'          Name
-'.'           Punctuation
-'getTransform' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setColor'    Name.Attribute
-'('           Punctuation
-'blue'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'subs'        Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'scale'       Name
-' '           Text
-'>'           Operator
-' '           Text
-'0.0'         Literal.Number.Float
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'BufferedImage' Name
-' '           Text
-'bi'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'BufferedImage' Name
-')'           Punctuation
-' '           Text
-'subs'        Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Point'       Name
-' '           Text
-'p'           Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'Point'       Name
-')'           Punctuation
-' '           Text
-'pts'         Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'ww'          Name
-' '           Text
-'='           Operator
-' '           Text
-'bi'          Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'int'         Keyword.Type
-' '           Text
-'hh'          Name
-' '           Text
-'='           Operator
-' '           Text
-'bi'          Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'AffineTransform' Name
-' '           Text
-'at'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'AffineTransform' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'at'          Name
-'.'           Punctuation
-'rotate'      Name.Attribute
-'('           Punctuation
-'Math'        Name
-'.'           Punctuation
-'toRadians'   Name.Attribute
-'('           Punctuation
-'rotate'      Name
-')'           Punctuation
-','           Punctuation
-' '           Text
-'p'           Name
-'.'           Punctuation
-'x'           Name.Attribute
-'+'           Operator
-'ww'          Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'p'           Name
-'.'           Punctuation
-'y'           Name.Attribute
-'+'           Operator
-'hh'          Name
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'at'          Name
-'.'           Punctuation
-'translate'   Name.Attribute
-'('           Punctuation
-'p'           Name
-'.'           Punctuation
-'x'           Name.Attribute
-','           Punctuation
-' '           Text
-'p'           Name
-'.'           Punctuation
-'y'           Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'at'          Name
-'.'           Punctuation
-'scale'       Name.Attribute
-'('           Punctuation
-'scale'       Name
-','           Punctuation
-' '           Text
-'scale'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'Rectangle'   Name
-' '           Text
-'b1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle'   Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'ww'          Name
-','           Punctuation
-' '           Text
-'hh'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Shape'       Name
-' '           Text
-'shape'       Name
-' '           Text
-'='           Operator
-' '           Text
-'at'          Name
-'.'           Punctuation
-'createTransformedShape' Name.Attribute
-'('           Punctuation
-'b1'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Rectangle2D' Name
-' '           Text
-'b2'          Name
-' '           Text
-'='           Operator
-' '           Text
-'shape'       Name
-'.'           Punctuation
-'getBounds2D' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'double'      Keyword.Type
-' '           Text
-'xx'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'p'           Name
-'.'           Punctuation
-'x'           Name.Attribute
-'+'           Operator
-'ww'          Name
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'-'           Operator
-' '           Text
-'('           Punctuation
-'b2'          Name
-'.'           Punctuation
-'getX'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'b2'          Name
-'.'           Punctuation
-'getWidth'    Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'double'      Keyword.Type
-' '           Text
-'yy'          Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'p'           Name
-'.'           Punctuation
-'y'           Name.Attribute
-'+'           Operator
-'hh'          Name
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'-'           Operator
-' '           Text
-'('           Punctuation
-'b2'          Name
-'.'           Punctuation
-'getY'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'b2'          Name
-'.'           Punctuation
-'getHeight'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'AffineTransform' Name
-' '           Text
-'toCenterAT'  Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'AffineTransform' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'toCenterAT'  Name
-'.'           Punctuation
-'translate'   Name.Attribute
-'('           Punctuation
-'xx'          Name
-','           Punctuation
-' '           Text
-'yy'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'toCenterAT'  Name
-'.'           Punctuation
-'concatenate' Name.Attribute
-'('           Punctuation
-'at'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setTransform' Name.Attribute
-'('           Punctuation
-'toCenterAT'  Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'bi'          Name
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'0'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'draw'        Name.Attribute
-'('           Punctuation
-'b1'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setTransform' Name.Attribute
-'('           Punctuation
-'saveTx'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End SiE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Line Effect.  Flattened ellipse with lines from the center \n         * to the edge.  Expand or collapse the ellipse.  Fade in or out \n         * the lines.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'LnE'         Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'INC'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'DEC'         Name
-'  '          Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'R'           Name
-'    '        Text
-'='           Operator
-' '           Text
-'4'           Literal.Number.Integer
-';'           Punctuation
-'              ' Text
-'// rotate\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RI'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'R'           Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RD'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'R'           Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'ZOOM'        Name
-'   '         Text
-'='           Operator
-' '           Text
-'8'           Literal.Number.Integer
-';'           Punctuation
-'            ' Text
-'// zoom\n'   Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'ZOOMI'       Name
-'  '          Text
-'='           Operator
-' '           Text
-'ZOOM'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'ZOOMD'       Name
-'  '          Text
-'='           Operator
-' '           Text
-'ZOOM'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-'    '        Text
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'AC'          Name
-'   '         Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-';'           Punctuation
-'             ' Text
-'// AlphaComposite\n' Comment.Single
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'ACI'         Name
-'   '         Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-' '           Text
-'|'           Operator
-' '           Text
-'INC'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'ACD'         Name
-'   '         Text
-'='           Operator
-' '           Text
-'32'          Literal.Number.Integer
-' '           Text
-'|'           Operator
-' '           Text
-'DEC'         Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'rIncr'       Name
-','           Punctuation
-' '           Text
-'rotate'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'zIncr'       Name
-','           Punctuation
-' '           Text
-'zoom'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'pts'         Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'float'       Keyword.Type
-' '           Text
-'alpha'       Name
-','           Punctuation
-' '           Text
-'aIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'LnE'         Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'type'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'360.0'       Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'aIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0.9f'        Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'zIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'2.0'         Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'rIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'aIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'aIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'zIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'-'           Operator
-'zIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'generatePts' Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'double'      Keyword.Type
-' '           Text
-'sizeF'       Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'pts'         Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'double'      Keyword.Type
-' '           Text
-'size'        Name
-' '           Text
-'='           Operator
-' '           Text
-'Math'        Name
-'.'           Punctuation
-'min'         Name.Attribute
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'*'           Operator
-' '           Text
-'sizeF'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Ellipse2D'   Name
-' '           Text
-'ellipse'     Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Ellipse2D'   Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'size'        Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'size'        Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'size'        Name
-','           Punctuation
-'size'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'PathIterator' Name
-' '           Text
-'pi'          Name
-' '           Text
-'='           Operator
-' '           Text
-'ellipse'     Name
-'.'           Punctuation
-'getPathIterator' Name.Attribute
-'('           Punctuation
-'null'        Keyword.Constant
-','           Punctuation
-' '           Text
-'0.8'         Literal.Number.Float
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'while'       Keyword
-' '           Text
-'('           Punctuation
-' '           Text
-'!'           Operator
-'pi'          Name
-'.'           Punctuation
-'isDone'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'double'      Keyword.Type
-'['           Operator
-']'           Operator
-' '           Text
-'pt'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'double'      Keyword.Type
-'['           Operator
-'6'           Literal.Number.Integer
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'switch'      Keyword
-' '           Text
-'('           Punctuation
-' '           Text
-'pi'          Name
-'.'           Punctuation
-'currentSegment' Name.Attribute
-'('           Punctuation
-'pt'          Name
-')'           Punctuation
-' '           Text
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'FlatteningPathIterator' Name
-'.'           Punctuation
-'SEG_MOVETO'  Name.Attribute
-':'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'case'        Keyword
-' '           Text
-'FlatteningPathIterator' Name
-'.'           Punctuation
-'SEG_LINETO'  Name.Attribute
-':'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'pts'         Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Point2D'     Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'pt'          Name
-'['           Operator
-'0'           Literal.Number.Integer
-']'           Operator
-','           Punctuation
-' '           Text
-'pt'          Name
-'['           Operator
-'1'           Literal.Number.Integer
-']'           Operator
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'pi'          Name
-'.'           Punctuation
-'next'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'DEC'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rotate'      Name
-' '           Text
-'='           Operator
-' '           Text
-'360'         Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'alpha'       Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'zoom'        Name
-' '           Text
-'='           Operator
-' '           Text
-'2.0'         Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rotate'      Name
-' '           Text
-'='           Operator
-' '           Text
-'alpha'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'zoom'        Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'ZOOM'        Name
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'generatePts' Name
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'0.5'         Literal.Number.Float
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'ZOOM'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'generatePts' Name
-'('           Punctuation
-'w'           Name
-','           Punctuation
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'zoom'        Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'zIncr'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RI'          Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RI'          Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'rotate'      Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'rIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'ACI'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'ACD'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'alpha'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'aIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Composite'   Name
-' '           Text
-'saveAC'      Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'AC'          Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'alpha'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'alpha'       Name
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'saveAC'      Name
-' '           Text
-'='           Operator
-' '           Text
-'g2'          Name
-'.'           Punctuation
-'getComposite' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setComposite' Name.Attribute
-'('           Punctuation
-'AlphaComposite' Name
-'.'           Punctuation
-'getInstance' Name.Attribute
-'('           Punctuation
-'AlphaComposite' Name
-'.'           Punctuation
-'SRC_OVER'    Name.Attribute
-','           Punctuation
-' '           Text
-'alpha'       Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'AffineTransform' Name
-' '           Text
-'saveTx'      Name
-' '           Text
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'R'           Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'saveTx'      Name
-' '           Text
-'='           Operator
-' '           Text
-'g2'          Name
-'.'           Punctuation
-'getTransform' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'AffineTransform' Name
-' '           Text
-'at'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'AffineTransform' Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'at'          Name
-'.'           Punctuation
-'rotate'      Name.Attribute
-'('           Punctuation
-'Math'        Name
-'.'           Punctuation
-'toRadians'   Name.Attribute
-'('           Punctuation
-'rotate'      Name
-')'           Punctuation
-','           Punctuation
-' '           Text
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setTransform' Name.Attribute
-'('           Punctuation
-'at'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'Point2D'     Name
-' '           Text
-'p1'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Point2D'     Name
-'.'           Punctuation
-'Double'      Name.Attribute
-'('           Punctuation
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setColor'    Name.Attribute
-'('           Punctuation
-'Color'       Name
-'.'           Punctuation
-'yellow'      Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'pts'         Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'-'           Operator
-'1'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'draw'        Name.Attribute
-'('           Punctuation
-'new'         Keyword
-' '           Text
-'Line2D'      Name
-'.'           Punctuation
-'Float'       Name.Attribute
-'('           Punctuation
-'p1'          Name
-','           Punctuation
-' '           Text
-'('           Punctuation
-'Point2D'     Name
-')'           Punctuation
-' '           Text
-'pts'         Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'saveTx'      Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'g2'          Name
-'.'           Punctuation
-'setTransform' Name.Attribute
-'('           Punctuation
-'saveTx'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'saveAC'      Name
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'g2'          Name
-'.'           Punctuation
-'setComposite' Name.Attribute
-'('           Punctuation
-'saveAC'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End LnE class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Template for Features & Contributors consisting of translating\n         * blue and red rectangles and an image going from transparent to\n         * opaque.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Temp'        Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'NOANIM'      Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RECT'        Name
-'   '         Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'RNA'         Name
-'    '        Text
-'='           Operator
-' '           Text
-'RECT'        Name
-' '           Text
-'|'           Operator
-' '           Text
-'NOANIM'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'IMG'         Name
-'    '        Text
-'='           Operator
-' '           Text
-'4'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'INA'         Name
-'    '        Text
-'='           Operator
-' '           Text
-'IMG'         Name
-' '           Text
-'|'           Operator
-' '           Text
-'NOANIM'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'float'       Keyword.Type
-' '           Text
-'alpha'       Name
-','           Punctuation
-' '           Text
-'aIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Rectangle'   Name
-' '           Text
-'rect1'       Name
-','           Punctuation
-' '           Text
-'rect2'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'x'           Name
-','           Punctuation
-' '           Text
-'y'           Name
-','           Punctuation
-' '           Text
-'xIncr'       Name
-','           Punctuation
-' '           Text
-'yIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Image'       Name
-' '           Text
-'img'         Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Temp'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'Image'       Name
-' '           Text
-'img'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'type'        Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'type'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'img'         Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'img'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'aIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0.9f'        Literal.Number.Float
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'NOANIM'      Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'alpha'       Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rect1'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle'   Name
-'('           Punctuation
-'8'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'w'           Name
-'-'           Operator
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'rect2'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Rectangle'   Name
-'('           Punctuation
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'8'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'h'           Name
-'-'           Operator
-'20'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'NOANIM'      Name
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'alpha'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0.0f'        Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'xIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'yIncr'       Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-' '           Text
-'/'           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'x'           Name
-' '           Text
-'='           Operator
-' '           Text
-'w'           Name
-'+'           Operator
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-'('           Punctuation
-'xIncr'       Name
-'*'           Operator
-'1.4'         Literal.Number.Float
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'h'           Name
-'+'           Operator
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-'('           Punctuation
-'yIncr'       Name
-'*'           Operator
-'1.4'         Literal.Number.Float
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'NOANIM'      Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                   ' Text
-'return'      Keyword
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RECT'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect1'       Name
-'.'           Punctuation
-'setLocation' Name.Attribute
-'('           Punctuation
-'x'           Name
-'-'           Operator
-'='           Operator
-'xIncr'       Name
-','           Punctuation
-' '           Text
-'20'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'rect2'       Name
-'.'           Punctuation
-'setLocation' Name.Attribute
-'('           Punctuation
-'20'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'y'           Name
-'-'           Operator
-'='           Operator
-'yIncr'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'IMG'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'alpha'       Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'aIncr'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'RECT'        Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setColor'    Name.Attribute
-'('           Punctuation
-'blue'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'fill'        Name.Attribute
-'('           Punctuation
-'rect1'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setColor'    Name.Attribute
-'('           Punctuation
-'red'         Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'fill'        Name.Attribute
-'('           Punctuation
-'rect2'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'type'        Name
-' '           Text
-'&'           Operator
-' '           Text
-'IMG'         Name
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'Composite'   Name
-' '           Text
-'saveAC'      Name
-' '           Text
-'='           Operator
-' '           Text
-'g2'          Name
-'.'           Punctuation
-'getComposite' Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'alpha'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'alpha'       Name
-' '           Text
-'<'           Operator
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'g2'          Name
-'.'           Punctuation
-'setComposite' Name.Attribute
-'('           Punctuation
-'AlphaComposite' Name
-'.'           Punctuation
-'getInstance' Name.Attribute
-'('           Punctuation
-'AlphaComposite' Name
-'.'           Punctuation
-'SRC_OVER'    Name.Attribute
-','           Punctuation
-' '           Text
-'alpha'       Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'drawImage'   Name.Attribute
-'('           Punctuation
-'img'         Name
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'30'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'null'        Keyword.Constant
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'setComposite' Name.Attribute
-'('           Punctuation
-'saveAC'      Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End Temp class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Features of Java2D.  Single character advancement effect.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Features'    Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'GRAPHICS'    Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'TEXT'        Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'IMAGES'      Name
-' '           Text
-'='           Operator
-' '           Text
-'2'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'final'       Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'COLOR'       Name
-' '           Text
-'='           Operator
-' '           Text
-'3'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'Font'        Name
-' '           Text
-'font1'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'BOLD'        Name.Attribute
-','           Punctuation
-' '           Text
-'38'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'Font'        Name
-' '           Text
-'font2'       Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'PLAIN'       Name.Attribute
-','           Punctuation
-' '           Text
-'24'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'FontMetrics' Name
-' '           Text
-'fm1'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'getMetrics'  Name.Attribute
-'('           Punctuation
-'font1'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'FontMetrics' Name
-' '           Text
-'fm2'         Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'getMetrics'  Name.Attribute
-'('           Punctuation
-'font2'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'String'      Name
-' '           Text
-'table'       Name
-'['           Operator
-']'           Operator
-'['           Operator
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'\n'          Text
-
-'                ' Text
-'{'           Punctuation
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Graphics'    Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Antialiased rendering' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Bezier paths' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'"'           Literal.String
-'Transforms'  Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Compositing' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Stroking parameters' Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Text'        Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Extended font support' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                   ' Text
-'"'           Literal.String
-'Advanced text layout' Literal.String
-'"'           Literal.String
-','           Punctuation
-'  '          Text
-'"'           Literal.String
-'Dynamic font loading' Literal.String
-'"'           Literal.String
-','           Punctuation
-'\n'          Text
-
-'                   ' Text
-'"'           Literal.String
-'AttributeSets for font customization' Literal.String
-'"'           Literal.String
-' '           Text
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Images'      Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Flexible image layouts' Literal.String
-'"'           Literal.String
-','           Punctuation
-'\n'          Text
-
-'                    ' Text
-'"'           Literal.String
-'Extended imaging operations' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                    ' Text
-'"'           Literal.String
-'   Convolutions, Lookup Tables' Literal.String
-'"'           Literal.String
-','           Punctuation
-'\n'          Text
-
-'                    ' Text
-'"'           Literal.String
-'RenderableImage interface' Literal.String
-'"'           Literal.String
-'}'           Punctuation
-','           Punctuation
-'\n'          Text
-
-'                 ' Text
-'{'           Punctuation
-' '           Text
-'"'           Literal.String
-'Color'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'ICC profile support' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Color conversion' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                   ' Text
-'"'           Literal.String
-'Arbitrary color spaces' Literal.String
-'"'           Literal.String
-'}'           Punctuation
-' '           Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'String'      Name
-' '           Text
-'list'        Name
-'['           Operator
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'strH'        Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'endIndex'    Name
-','           Punctuation
-' '           Text
-'listIndex'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'v'           Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'           ' Text
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Features'    Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'type'        Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'list'        Name
-' '           Text
-'='           Operator
-' '           Text
-'table'       Name
-'['           Operator
-'type'        Name
-']'           Operator
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'strH'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'('           Punctuation
-'fm2'         Name
-'.'           Punctuation
-'getAscent'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'fm2'         Name
-'.'           Punctuation
-'getDescent'  Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'endIndex'    Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'listIndex'   Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'v'           Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'v'           Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'list'        Name
-'['           Operator
-'listIndex'   Name
-']'           Operator
-'.'           Punctuation
-'substring'   Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'endIndex'    Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'listIndex'   Name
-' '           Text
-'<'           Operator
-' '           Text
-'list'        Name
-'.'           Punctuation
-'length'      Name.Attribute
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'+'           Operator
-'+'           Operator
-'endIndex'    Name
-' '           Text
-'>'           Operator
-' '           Text
-'list'        Name
-'['           Operator
-'listIndex'   Name
-']'           Operator
-'.'           Punctuation
-'length'      Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'+'           Operator
-'+'           Operator
-'listIndex'   Name
-' '           Text
-'<'           Operator
-' '           Text
-'list'        Name
-'.'           Punctuation
-'length'      Name.Attribute
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'endIndex'    Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                            ' Text
-'v'           Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'list'        Name
-'['           Operator
-'listIndex'   Name
-']'           Operator
-'.'           Punctuation
-'substring'   Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'endIndex'    Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'v'           Name
-'.'           Punctuation
-'set'         Name.Attribute
-'('           Punctuation
-'listIndex'   Name
-','           Punctuation
-' '           Text
-'list'        Name
-'['           Operator
-'listIndex'   Name
-']'           Operator
-'.'           Punctuation
-'substring'   Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'endIndex'    Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setColor'    Name.Attribute
-'('           Punctuation
-'white'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setFont'     Name.Attribute
-'('           Punctuation
-'font1'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'drawString'  Name.Attribute
-'('           Punctuation
-'('           Punctuation
-'String'      Name
-')'           Punctuation
-' '           Text
-'v'           Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-')'           Punctuation
-','           Punctuation
-' '           Text
-'90'          Literal.Number.Integer
-','           Punctuation
-' '           Text
-'85'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setFont'     Name.Attribute
-'('           Punctuation
-'font2'       Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'1'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'90'          Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'v'           Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'drawString'  Name.Attribute
-'('           Punctuation
-'('           Punctuation
-'String'      Name
-')'           Punctuation
-' '           Text
-'v'           Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-','           Punctuation
-' '           Text
-'120'         Literal.Number.Integer
-','           Punctuation
-' '           Text
-'y'           Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'strH'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End Features class\n' Comment.Single
-
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
-'/**\n         * Scrolling text of Java2D contributors.\n         */' Comment.Multiline
-'\n'          Text
-
-'        '    Text
-'static'      Keyword.Declaration
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Contributors' Name.Class
-' '           Text
-'implements'  Keyword.Declaration
-' '           Text
-'Part'        Name
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'String'      Name
-' '           Text
-'members'     Name
-'['           Operator
-']'           Operator
-' '           Text
-'='           Operator
-' '           Text
-'\n'          Text
-
-'            ' Text
-'{'           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Brian Lichtenwalter' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Jeannette Hung' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Thanh Nguyen' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Jim Graham'  Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Jerry Evans' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'John Raley'  Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Michael Peirce' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Robert Kim'  Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Jennifer Ball' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Deborah Adair' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Paul Charlton' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Dmitry Feld' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Gregory Stone' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Richard Blanchard' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Link Perry'  Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Phil Race'   Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Vincent Hardy' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Parry Kejriwal' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Doug Felt'   Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Rekha Rangarajan' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Paula Patel' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Michael Bundschuh' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Joe Warzecha' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Joey Beheler' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Aastha Bhardwaj' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Daniel Rice' Literal.String
-'"'           Literal.String
-','           Punctuation
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Chris Campbell' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Shinsuke Fukuda' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Dmitri Trembovetski' Literal.String
-'"'           Literal.String
-','           Punctuation
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Chet Haase'  Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Jennifer Godinez' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Nicholas Talian' Literal.String
-'"'           Literal.String
-','           Punctuation
-'\n'          Text
-
-'                ' Text
-'"'           Literal.String
-'Raul Vera'   Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Ankit Patel' Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'"'           Literal.String
-'Ilya Bagrak' Literal.String
-'"'           Literal.String
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'Font'        Name
-' '           Text
-'font'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Font'        Name
-'('           Punctuation
-'"'           Literal.String
-'serif'       Literal.String
-'"'           Literal.String
-','           Punctuation
-' '           Text
-'Font'        Name
-'.'           Punctuation
-'PLAIN'       Name.Attribute
-','           Punctuation
-' '           Text
-'26'          Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'static'      Keyword.Declaration
-' '           Text
-'FontMetrics' Name
-' '           Text
-'fm'          Name
-' '           Text
-'='           Operator
-' '           Text
-'Surface'     Name
-'.'           Punctuation
-'getMetrics'  Name.Attribute
-'('           Punctuation
-'font'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'beginning'   Name
-','           Punctuation
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'nStrs'       Name
-','           Punctuation
-' '           Text
-'strH'        Name
-','           Punctuation
-' '           Text
-'index'       Name
-','           Punctuation
-' '           Text
-'yh'          Name
-','           Punctuation
-' '           Text
-'height'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'v'           Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'Vector'      Name
-' '           Text
-'cast'        Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Vector'      Name
-'('           Punctuation
-'members'     Name
-'.'           Punctuation
-'length'      Name.Attribute
-'+'           Operator
-'3'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'counter'     Name
-','           Punctuation
-' '           Text
-'cntMod'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'private'     Keyword.Declaration
-' '           Text
-'GradientPaint' Name
-' '           Text
-'gp'          Name
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'Contributors' Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'beg'         Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'end'         Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'beginning'   Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'beg'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'this'        Keyword
-'.'           Punctuation
-'ending'      Name.Attribute
-' '           Text
-'='           Operator
-' '           Text
-'end'         Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'java'        Name
-'.'           Punctuation
-'util'        Name.Attribute
-'.'           Punctuation
-'Arrays'      Name.Attribute
-'.'           Punctuation
-'sort'        Name.Attribute
-'('           Punctuation
-'members'     Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'cast'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-'CONTRIBUTORS' Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'cast'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-' '           Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'members'     Name
-'.'           Punctuation
-'length'      Name.Attribute
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'cast'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'members'     Name
-'['           Operator
-'i'           Name
-']'           Operator
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'cast'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-' '           Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'cast'        Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'"'           Literal.String
-' '           Literal.String
-'"'           Literal.String
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'cntMod'      Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'ending'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'beginning'   Name
-')'           Punctuation
-' '           Text
-'/'           Operator
-' '           Text
-'cast'        Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'-'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'reset'       Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'v'           Name
-'.'           Punctuation
-'clear'       Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'strH'        Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'('           Punctuation
-'fm'          Name
-'.'           Punctuation
-'getAscent'   Name.Attribute
-'('           Punctuation
-')'           Punctuation
-'+'           Operator
-'fm'          Name
-'.'           Punctuation
-'getDescent'  Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'nStrs'       Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'h'           Name
-'-'           Operator
-'40'          Literal.Number.Integer
-')'           Punctuation
-'/'           Operator
-'strH'        Name
-' '           Text
-'+'           Operator
-' '           Text
-'1'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'height'      Name
-' '           Text
-'='           Operator
-' '           Text
-'strH'        Name
-' '           Text
-'*'           Operator
-' '           Text
-'('           Punctuation
-'nStrs'       Name
-'-'           Operator
-'1'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'+'           Operator
-' '           Text
-'48'          Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'index'       Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'gp'          Name
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'GradientPaint' Name
-'('           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-'Color'       Name
-'.'           Punctuation
-'white'       Name.Attribute
-','           Punctuation
-'0'           Literal.Number.Integer
-','           Punctuation
-'h'           Name
-'+'           Operator
-'20'          Literal.Number.Integer
-','           Punctuation
-'Color'       Name
-'.'           Punctuation
-'black'       Name.Attribute
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'counter'     Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'step'        Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'counter'     Name
-'+'           Operator
-'+'           Operator
-'%'           Operator
-'cntMod'      Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'index'       Name
-' '           Text
-'<'           Operator
-' '           Text
-'cast'        Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'v'           Name
-'.'           Punctuation
-'addElement'  Name.Attribute
-'('           Punctuation
-'cast'        Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'index'       Name
-')'           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'('           Punctuation
-'v'           Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'nStrs'       Name
-' '           Text
-'|'           Operator
-'|'           Operator
-' '           Text
-'index'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'cast'        Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'&'           Operator
-'&'           Operator
-' '           Text
-'v'           Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'!'           Operator
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                        ' Text
-'v'           Name
-'.'           Punctuation
-'removeElementAt' Name.Attribute
-'('           Punctuation
-'0'           Literal.Number.Integer
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'+'           Operator
-'+'           Operator
-'index'       Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'void'        Keyword.Type
-' '           Text
-'render'      Name.Function
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'w'           Name
-','           Punctuation
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'h'           Name
-','           Punctuation
-' '           Text
-'Graphics2D'  Name
-' '           Text
-'g2'          Name
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setPaint'    Name.Attribute
-'('           Punctuation
-'gp'          Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'g2'          Name
-'.'           Punctuation
-'setFont'     Name.Attribute
-'('           Punctuation
-'font'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'double'      Keyword.Type
-' '           Text
-'remainder'   Name
-' '           Text
-'='           Operator
-' '           Text
-'counter'     Name
-'%'           Operator
-'cntMod'      Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'double'      Keyword.Type
-' '           Text
-'incr'        Name
-' '           Text
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-'-'           Operator
-'remainder'   Name
-'/'           Operator
-'cntMod'      Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'incr'        Name
-' '           Text
-'='           Operator
-' '           Text
-'incr'        Name
-' '           Text
-'='           Operator
-'='           Operator
-' '           Text
-'1.0'         Literal.Number.Float
-' '           Text
-'?'           Operator
-' '           Text
-'0'           Literal.Number.Integer
-' '           Text
-':'           Punctuation
-' '           Text
-'incr'        Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'int'         Keyword.Type
-' '           Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-')'           Punctuation
-' '           Text
-'('           Punctuation
-'incr'        Name
-' '           Text
-'*'           Operator
-' '           Text
-'strH'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'                ' Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'index'       Name
-' '           Text
-'>'           Operator
-'='           Operator
-' '           Text
-'cast'        Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'yh'          Name
-' '           Text
-'+'           Operator
-' '           Text
-'y'           Name
-';'           Punctuation
-' '           Text
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-' '           Text
-'else'        Keyword
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'y'           Name
-' '           Text
-'='           Operator
-' '           Text
-'yh'          Name
-' '           Text
-'='           Operator
-' '           Text
-'height'      Name
-' '           Text
-'-'           Operator
-' '           Text
-'v'           Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'*'           Operator
-' '           Text
-'strH'        Name
-' '           Text
-'+'           Operator
-' '           Text
-'y'           Name
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'                ' Text
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'int'         Keyword.Type
-' '           Text
-'i'           Name
-' '           Text
-'='           Operator
-' '           Text
-'0'           Literal.Number.Integer
-';'           Punctuation
-' '           Text
-'i'           Name
-' '           Text
-'<'           Operator
-' '           Text
-'v'           Name
-'.'           Punctuation
-'size'        Name.Attribute
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-' '           Text
-'i'           Name
-'+'           Operator
-'+'           Operator
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'String'      Name
-' '           Text
-'s'           Name
-' '           Text
-'='           Operator
-' '           Text
-'('           Punctuation
-'String'      Name
-')'           Punctuation
-' '           Text
-'v'           Name
-'.'           Punctuation
-'get'         Name.Attribute
-'('           Punctuation
-'i'           Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                    ' Text
-'g2'          Name
-'.'           Punctuation
-'drawString'  Name.Attribute
-'('           Punctuation
-'s'           Name
-','           Punctuation
-' '           Text
-'w'           Name
-'/'           Operator
-'2'           Literal.Number.Integer
-'-'           Operator
-'fm'          Name
-'.'           Punctuation
-'stringWidth' Name.Attribute
-'('           Punctuation
-'s'           Name
-')'           Punctuation
-'/'           Operator
-'2'           Literal.Number.Integer
-','           Punctuation
-' '           Text
-'y'           Name
-' '           Text
-'+'           Operator
-'='           Operator
-' '           Text
-'strH'        Name
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'                ' Text
-'}'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getBegin'    Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'beginning'   Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
-'public'      Keyword.Declaration
-' '           Text
-'int'         Keyword.Type
-' '           Text
-'getEnd'      Name.Function
-'('           Punctuation
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'                ' Text
-'return'      Keyword
-' '           Text
-'ending'      Name
-';'           Punctuation
-'\n'          Text
-
-'            ' Text
-'}'           Punctuation
-'\n'          Text
-
-'        '    Text
-'}'           Punctuation
-' '           Text
-'// End Contributors class\n' Comment.Single
-
-'\n'          Text
-
-'    '        Text
-'}'           Punctuation
-' '           Text
-'// End Surface class\n' Comment.Single
-
-'}'           Punctuation
-' '           Text
-'// End Intro class\n' Comment.Single
diff --git a/tests/examplefiles/js/es6.js b/tests/examplefiles/js/es6.js
deleted file mode 100644 (file)
index 79bfd3e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// Most examples from https://github.com/rse/es6-features under MIT license
-const PI = 3.141593;
-
-let callbacks = [];
-
-odds  = evens.map(v => v + 1);
-
-nums.forEach(v => {
-   if (v % 5 === 0)
-       fives.push(v);
-})
-
-function f (x, y, ...a) {
-    return (x + y) * a.length;
-}
-
-var params = [ "hello", true, 7 ];
-var other = [ 1, 2, ...params ]; // [ 1, 2, "hello", true, 7 ]
-f(1, 2, ...params) === 9;
-
-var str = "foo";
-var chars = [ ...str ]; // [ "f", "o", "o" ]
-
-var customer = { name: "Foo" };
-var card = { amount: 7, product: "Bar", unitprice: 42 };
-message = `Hello ${customer.name},
-want to buy ${card.amount} ${card.product} for
-a total of ${card.amount * card.unitprice} bucks?`;
-
-0b111110111 === 503;
-0o767 === 503;
-
-for (let codepoint of "𠮷") console.log(codepoint);
-
-function* ();
-*function();
-yield;
-
-export class Node {
-}
-
-isFinite();
-isNaN();
-isSafeInteger();
-x = new Promise(...a);
-x = new Proxy(...a);
diff --git a/tests/examplefiles/js/es6.js.output b/tests/examplefiles/js/es6.js.output
deleted file mode 100644 (file)
index 4a2422b..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-''            Text
-'// Most examples from https://github.com/rse/es6-features under MIT license\n' Comment.Single
-
-'const'       Keyword.Declaration
-' '           Text
-'PI'          Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'3.141593'    Literal.Number.Float
-';'           Punctuation
-'\n\n'        Text
-
-'let'         Keyword.Declaration
-' '           Text
-'callbacks'   Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'['           Punctuation
-']'           Punctuation
-';'           Punctuation
-'\n\n'        Text
-
-'odds'        Name.Other
-'  '          Text
-'='           Operator
-' '           Text
-'evens'       Name.Other
-'.'           Punctuation
-'map'         Name.Other
-'('           Punctuation
-'v'           Name.Other
-' '           Text
-'=>'          Punctuation
-' '           Text
-'v'           Name.Other
-' '           Text
-'+'           Operator
-' '           Text
-'1'           Literal.Number.Float
-')'           Punctuation
-';'           Punctuation
-'\n\n'        Text
-
-'nums'        Name.Other
-'.'           Punctuation
-'forEach'     Name.Other
-'('           Punctuation
-'v'           Name.Other
-' '           Text
-'=>'          Punctuation
-' '           Text
-'{'           Punctuation
-'\n   '       Text
-'if'          Keyword
-' '           Text
-'('           Punctuation
-'v'           Name.Other
-' '           Text
-'%'           Operator
-' '           Text
-'5'           Literal.Number.Float
-' '           Text
-'==='         Operator
-' '           Text
-'0'           Literal.Number.Float
-')'           Punctuation
-'\n       '   Text
-'fives'       Name.Other
-'.'           Punctuation
-'push'        Name.Other
-'('           Punctuation
-'v'           Name.Other
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'}'           Punctuation
-')'           Punctuation
-'\n\n'        Text
-
-'function'    Keyword.Declaration
-' '           Text
-'f'           Name.Other
-' '           Text
-'('           Punctuation
-'x'           Name.Other
-','           Punctuation
-' '           Text
-'y'           Name.Other
-','           Punctuation
-' '           Text
-'...'         Punctuation
-'a'           Name.Other
-')'           Punctuation
-' '           Text
-'{'           Punctuation
-'\n    '      Text
-'return'      Keyword
-' '           Text
-'('           Punctuation
-'x'           Name.Other
-' '           Text
-'+'           Operator
-' '           Text
-'y'           Name.Other
-')'           Punctuation
-' '           Text
-'*'           Operator
-' '           Text
-'a'           Name.Other
-'.'           Punctuation
-'length'      Name.Other
-';'           Punctuation
-'\n'          Text
-
-'}'           Punctuation
-'\n\n'        Text
-
-'var'         Keyword.Declaration
-' '           Text
-'params'      Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'['           Punctuation
-' '           Text
-'"hello"'     Literal.String.Double
-','           Punctuation
-' '           Text
-'true'        Keyword.Constant
-','           Punctuation
-' '           Text
-'7'           Literal.Number.Float
-' '           Text
-']'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'var'         Keyword.Declaration
-' '           Text
-'other'       Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'['           Punctuation
-' '           Text
-'1'           Literal.Number.Float
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Float
-','           Punctuation
-' '           Text
-'...'         Punctuation
-'params'      Name.Other
-' '           Text
-']'           Punctuation
-';'           Punctuation
-' '           Text
-'// [ 1, 2, "hello", true, 7 ]\n' Comment.Single
-
-'f'           Name.Other
-'('           Punctuation
-'1'           Literal.Number.Float
-','           Punctuation
-' '           Text
-'2'           Literal.Number.Float
-','           Punctuation
-' '           Text
-'...'         Punctuation
-'params'      Name.Other
-')'           Punctuation
-' '           Text
-'==='         Operator
-' '           Text
-'9'           Literal.Number.Float
-';'           Punctuation
-'\n\n'        Text
-
-'var'         Keyword.Declaration
-' '           Text
-'str'         Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'"foo"'       Literal.String.Double
-';'           Punctuation
-'\n'          Text
-
-'var'         Keyword.Declaration
-' '           Text
-'chars'       Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'['           Punctuation
-' '           Text
-'...'         Punctuation
-'str'         Name.Other
-' '           Text
-']'           Punctuation
-';'           Punctuation
-' '           Text
-'// [ "f", "o", "o" ]\n' Comment.Single
-
-'\n'          Text
-
-'var'         Keyword.Declaration
-' '           Text
-'customer'    Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'{'           Punctuation
-' '           Text
-'name'        Name.Other
-':'           Operator
-' '           Text
-'"Foo"'       Literal.String.Double
-' '           Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'var'         Keyword.Declaration
-' '           Text
-'card'        Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'{'           Punctuation
-' '           Text
-'amount'      Name.Other
-':'           Operator
-' '           Text
-'7'           Literal.Number.Float
-','           Punctuation
-' '           Text
-'product'     Name.Other
-':'           Operator
-' '           Text
-'"Bar"'       Literal.String.Double
-','           Punctuation
-' '           Text
-'unitprice'   Name.Other
-':'           Operator
-' '           Text
-'42'          Literal.Number.Float
-' '           Text
-'}'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'message'     Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'`'           Literal.String.Backtick
-'Hello '      Literal.String.Backtick
-'${'          Literal.String.Interpol
-'customer'    Name.Other
-'.'           Punctuation
-'name'        Name.Other
-'}'           Literal.String.Interpol
-',\nwant to buy ' Literal.String.Backtick
-'${'          Literal.String.Interpol
-'card'        Name.Other
-'.'           Punctuation
-'amount'      Name.Other
-'}'           Literal.String.Interpol
-' '           Literal.String.Backtick
-'${'          Literal.String.Interpol
-'card'        Name.Other
-'.'           Punctuation
-'product'     Name.Other
-'}'           Literal.String.Interpol
-' for\na total of ' Literal.String.Backtick
-'${'          Literal.String.Interpol
-'card'        Name.Other
-'.'           Punctuation
-'amount'      Name.Other
-' '           Text
-'*'           Operator
-' '           Text
-'card'        Name.Other
-'.'           Punctuation
-'unitprice'   Name.Other
-'}'           Literal.String.Interpol
-' bucks?'     Literal.String.Backtick
-'`'           Literal.String.Backtick
-';'           Punctuation
-'\n\n'        Text
-
-'0b111110111' Literal.Number.Bin
-' '           Text
-'==='         Operator
-' '           Text
-'503'         Literal.Number.Float
-';'           Punctuation
-'\n'          Text
-
-'0o767'       Literal.Number.Oct
-' '           Text
-'==='         Operator
-' '           Text
-'503'         Literal.Number.Float
-';'           Punctuation
-'\n\n'        Text
-
-'for'         Keyword
-' '           Text
-'('           Punctuation
-'let'         Keyword.Declaration
-' '           Text
-'codepoint'   Name.Other
-' '           Text
-'of'          Keyword
-' '           Text
-'"𠮷"'         Literal.String.Double
-')'           Punctuation
-' '           Text
-'console'     Name.Other
-'.'           Punctuation
-'log'         Name.Other
-'('           Punctuation
-'codepoint'   Name.Other
-')'           Punctuation
-';'           Punctuation
-'\n\n'        Text
-
-'function'    Keyword.Declaration
-'*'           Operator
-' '           Text
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'*'           Operator
-'function'    Keyword.Declaration
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'yield'       Keyword
-';'           Punctuation
-'\n\n'        Text
-
-'export'      Keyword
-' '           Text
-'class'       Keyword.Declaration
-' '           Text
-'Node'        Name.Other
-' '           Text
-'{'           Punctuation
-'\n'          Text
-
-'}'           Punctuation
-'\n\n'        Text
-
-'isFinite'    Name.Builtin
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'isNaN'       Name.Builtin
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'isSafeInteger' Name.Builtin
-'('           Punctuation
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'x'           Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Promise'     Name.Builtin
-'('           Punctuation
-'...'         Punctuation
-'a'           Name.Other
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
-
-'x'           Name.Other
-' '           Text
-'='           Operator
-' '           Text
-'new'         Keyword
-' '           Text
-'Proxy'       Name.Builtin
-'('           Punctuation
-'...'         Punctuation
-'a'           Name.Other
-')'           Punctuation
-';'           Punctuation
-'\n'          Text
diff --git a/tests/examplefiles/js/general.js b/tests/examplefiles/js/general.js
new file mode 100644 (file)
index 0000000..2eea28e
--- /dev/null
@@ -0,0 +1,72 @@
+// Most examples from https://github.com/rse/es6-features under MIT license
+const PI = 3.141593;
+
+let callbacks = [];
+
+odds  = evens.map(v => v + 1);
+
+nums.forEach(v => {
+   if (v % 5 === 0)
+       fives.push(v);
+})
+
+function f (x, y, ...a) {
+    return (x + y) * a.length;
+}
+
+var params = [ "hello", true, 7 ];
+var other = [ 1, 2, ...params ]; // [ 1, 2, "hello", true, 7 ]
+f(1, 2, ...params) === 9;
+
+var str = "foo";
+var chars = [ ...str ]; // [ "f", "o", "o" ]
+
+var customer = { name: "Foo" };
+var card = { amount: 7, product: "Bar", unitprice: 42 };
+message = `Hello ${customer.name},
+want to buy ${card.amount} ${card.product} for
+a total of ${card.amount * card.unitprice} bucks?`;
+
+0b111110111 === 503;
+0o767 === 503;
+
+for (let codepoint of "𠮷") console.log(codepoint);
+
+function* ();
+*function();
+yield;
+
+export class Node {
+}
+
+class A {
+    constructor() {
+        super()
+    }
+
+    constructor(test) {
+        super(test);
+    }
+}
+
+isFinite();
+isNaN();
+x = new Promise(...a);
+x = new Proxy(...a);
+
+x ??= 1;
+x &&= 2 ?? 3;
+x **= 2**3|2&4;
+x ||= 2;
+
+throw new Error();
+throw new TypeError();
+
+new Uint8ClampedArray();
+new DataView();
+new Map();
+new WeakMap();
+
+Intl.DateTimeFormat();
+
+globalThis = window = global = this;
diff --git a/tests/examplefiles/js/general.js.output b/tests/examplefiles/js/general.js.output
new file mode 100644 (file)
index 0000000..14531fd
--- /dev/null
@@ -0,0 +1,556 @@
+''            Text
+'// Most examples from https://github.com/rse/es6-features under MIT license\n' Comment.Single
+
+'const'       Keyword.Declaration
+' '           Text
+'PI'          Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'3.141593'    Literal.Number.Float
+';'           Punctuation
+'\n\n'        Text
+
+'let'         Keyword.Declaration
+' '           Text
+'callbacks'   Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+']'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'odds'        Name.Other
+'  '          Text
+'='           Operator
+' '           Text
+'evens'       Name.Other
+'.'           Punctuation
+'map'         Name.Other
+'('           Punctuation
+'v'           Name.Other
+' '           Text
+'=>'          Punctuation
+' '           Text
+'v'           Name.Other
+' '           Text
+'+'           Operator
+' '           Text
+'1'           Literal.Number.Float
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'nums'        Name.Other
+'.'           Punctuation
+'forEach'     Name.Other
+'('           Punctuation
+'v'           Name.Other
+' '           Text
+'=>'          Punctuation
+' '           Text
+'{'           Punctuation
+'\n   '       Text
+'if'          Keyword
+' '           Text
+'('           Punctuation
+'v'           Name.Other
+' '           Text
+'%'           Operator
+' '           Text
+'5'           Literal.Number.Float
+' '           Text
+'==='         Operator
+' '           Text
+'0'           Literal.Number.Float
+')'           Punctuation
+'\n       '   Text
+'fives'       Name.Other
+'.'           Punctuation
+'push'        Name.Other
+'('           Punctuation
+'v'           Name.Other
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+')'           Punctuation
+'\n\n'        Text
+
+'function'    Keyword.Declaration
+' '           Text
+'f'           Name.Other
+' '           Text
+'('           Punctuation
+'x'           Name.Other
+','           Punctuation
+' '           Text
+'y'           Name.Other
+','           Punctuation
+' '           Text
+'...'         Punctuation
+'a'           Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n    '      Text
+'return'      Keyword
+' '           Text
+'('           Punctuation
+'x'           Name.Other
+' '           Text
+'+'           Operator
+' '           Text
+'y'           Name.Other
+')'           Punctuation
+' '           Text
+'*'           Operator
+' '           Text
+'a'           Name.Other
+'.'           Punctuation
+'length'      Name.Other
+';'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'var'         Keyword.Declaration
+' '           Text
+'params'      Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+' '           Text
+'"hello"'     Literal.String.Double
+','           Punctuation
+' '           Text
+'true'        Keyword.Constant
+','           Punctuation
+' '           Text
+'7'           Literal.Number.Float
+' '           Text
+']'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'var'         Keyword.Declaration
+' '           Text
+'other'       Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+' '           Text
+'1'           Literal.Number.Float
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Float
+','           Punctuation
+' '           Text
+'...'         Punctuation
+'params'      Name.Other
+' '           Text
+']'           Punctuation
+';'           Punctuation
+' '           Text
+'// [ 1, 2, "hello", true, 7 ]\n' Comment.Single
+
+'f'           Name.Other
+'('           Punctuation
+'1'           Literal.Number.Float
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Float
+','           Punctuation
+' '           Text
+'...'         Punctuation
+'params'      Name.Other
+')'           Punctuation
+' '           Text
+'==='         Operator
+' '           Text
+'9'           Literal.Number.Float
+';'           Punctuation
+'\n\n'        Text
+
+'var'         Keyword.Declaration
+' '           Text
+'str'         Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'"foo"'       Literal.String.Double
+';'           Punctuation
+'\n'          Text
+
+'var'         Keyword.Declaration
+' '           Text
+'chars'       Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+' '           Text
+'...'         Punctuation
+'str'         Name.Other
+' '           Text
+']'           Punctuation
+';'           Punctuation
+' '           Text
+'// [ "f", "o", "o" ]\n' Comment.Single
+
+'\n'          Text
+
+'var'         Keyword.Declaration
+' '           Text
+'customer'    Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'{'           Punctuation
+' '           Text
+'name'        Name.Other
+':'           Operator
+' '           Text
+'"Foo"'       Literal.String.Double
+' '           Text
+'}'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'var'         Keyword.Declaration
+' '           Text
+'card'        Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'{'           Punctuation
+' '           Text
+'amount'      Name.Other
+':'           Operator
+' '           Text
+'7'           Literal.Number.Float
+','           Punctuation
+' '           Text
+'product'     Name.Other
+':'           Operator
+' '           Text
+'"Bar"'       Literal.String.Double
+','           Punctuation
+' '           Text
+'unitprice'   Name.Other
+':'           Operator
+' '           Text
+'42'          Literal.Number.Float
+' '           Text
+'}'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'message'     Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'`'           Literal.String.Backtick
+'Hello '      Literal.String.Backtick
+'${'          Literal.String.Interpol
+'customer'    Name.Other
+'.'           Punctuation
+'name'        Name.Other
+'}'           Literal.String.Interpol
+',\nwant to buy ' Literal.String.Backtick
+'${'          Literal.String.Interpol
+'card'        Name.Other
+'.'           Punctuation
+'amount'      Name.Other
+'}'           Literal.String.Interpol
+' '           Literal.String.Backtick
+'${'          Literal.String.Interpol
+'card'        Name.Other
+'.'           Punctuation
+'product'     Name.Other
+'}'           Literal.String.Interpol
+' for\na total of ' Literal.String.Backtick
+'${'          Literal.String.Interpol
+'card'        Name.Other
+'.'           Punctuation
+'amount'      Name.Other
+' '           Text
+'*'           Operator
+' '           Text
+'card'        Name.Other
+'.'           Punctuation
+'unitprice'   Name.Other
+'}'           Literal.String.Interpol
+' bucks?'     Literal.String.Backtick
+'`'           Literal.String.Backtick
+';'           Punctuation
+'\n\n'        Text
+
+'0b111110111' Literal.Number.Bin
+' '           Text
+'==='         Operator
+' '           Text
+'503'         Literal.Number.Float
+';'           Punctuation
+'\n'          Text
+
+'0o767'       Literal.Number.Oct
+' '           Text
+'==='         Operator
+' '           Text
+'503'         Literal.Number.Float
+';'           Punctuation
+'\n\n'        Text
+
+'for'         Keyword
+' '           Text
+'('           Punctuation
+'let'         Keyword.Declaration
+' '           Text
+'codepoint'   Name.Other
+' '           Text
+'of'          Keyword
+' '           Text
+'"𠮷"'         Literal.String.Double
+')'           Punctuation
+' '           Text
+'console'     Name.Other
+'.'           Punctuation
+'log'         Name.Other
+'('           Punctuation
+'codepoint'   Name.Other
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'function'    Keyword.Declaration
+'*'           Operator
+' '           Text
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'*'           Operator
+'function'    Keyword.Declaration
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'yield'       Keyword
+';'           Punctuation
+'\n\n'        Text
+
+'export'      Keyword
+' '           Text
+'class'       Keyword.Declaration
+' '           Text
+'Node'        Name.Other
+' '           Text
+'{'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'class'       Keyword.Declaration
+' '           Text
+'A'           Name.Other
+' '           Text
+'{'           Punctuation
+'\n    '      Text
+'constructor' Keyword.Reserved
+'('           Punctuation
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n        '  Text
+'super'       Keyword
+'('           Punctuation
+')'           Punctuation
+'\n    '      Text
+'}'           Punctuation
+'\n\n    '    Text
+'constructor' Keyword.Reserved
+'('           Punctuation
+'test'        Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n        '  Text
+'super'       Keyword
+'('           Punctuation
+'test'        Name.Other
+')'           Punctuation
+';'           Punctuation
+'\n    '      Text
+'}'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'isFinite'    Name.Builtin
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'isNaN'       Name.Builtin
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'x'           Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'new'         Operator.Word
+' '           Text
+'Promise'     Name.Builtin
+'('           Punctuation
+'...'         Punctuation
+'a'           Name.Other
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'x'           Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'new'         Operator.Word
+' '           Text
+'Proxy'       Name.Builtin
+'('           Punctuation
+'...'         Punctuation
+'a'           Name.Other
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'x'           Name.Other
+' '           Text
+'??='         Operator
+' '           Text
+'1'           Literal.Number.Float
+';'           Punctuation
+'\n'          Text
+
+'x'           Name.Other
+' '           Text
+'&&='         Operator
+' '           Text
+'2'           Literal.Number.Float
+' '           Text
+'??'          Operator
+' '           Text
+'3'           Literal.Number.Float
+';'           Punctuation
+'\n'          Text
+
+'x'           Name.Other
+' '           Text
+'**='         Operator
+' '           Text
+'2'           Literal.Number.Float
+'**'          Operator
+'3'           Literal.Number.Float
+'|'           Operator
+'2'           Literal.Number.Float
+'&'           Operator
+'4'           Literal.Number.Float
+';'           Punctuation
+'\n'          Text
+
+'x'           Name.Other
+' '           Text
+'||='         Operator
+' '           Text
+'2'           Literal.Number.Float
+';'           Punctuation
+'\n\n'        Text
+
+'throw'       Keyword
+' '           Text
+'new'         Operator.Word
+' '           Text
+'Error'       Name.Exception
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'throw'       Keyword
+' '           Text
+'new'         Operator.Word
+' '           Text
+'TypeError'   Name.Exception
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'new'         Operator.Word
+' '           Text
+'Uint8ClampedArray' Name.Builtin
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'new'         Operator.Word
+' '           Text
+'DataView'    Name.Builtin
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'new'         Operator.Word
+' '           Text
+'Map'         Name.Builtin
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n'          Text
+
+'new'         Operator.Word
+' '           Text
+'WeakMap'     Name.Builtin
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'Intl'        Name.Builtin
+'.'           Punctuation
+'DateTimeFormat' Name.Other
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text
+
+'globalThis'  Name.Builtin
+' '           Text
+'='           Operator
+' '           Text
+'window'      Name.Builtin
+' '           Text
+'='           Operator
+' '           Text
+'global'      Name.Builtin
+' '           Text
+'='           Operator
+' '           Text
+'this'        Keyword
+';'           Punctuation
+'\n'          Text
index 35b3f1d1c6274c8ca458a6a23db0f7c394c2feca..16c2e0954452f137b70539381264830b3a5bc7da 100644 (file)
@@ -1,7 +1,7 @@
 '%hook'       Keyword
 ' '           Text
 'ABC'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Punctuation
 ' '           Text
 'B'           Name
 ')'           Punctuation
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '%log'        Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '%orig'       Keyword
 '('           Punctuation
 'nil'         Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%end'        Keyword
 '\n\n'        Text
@@ -43,7 +43,7 @@
 'DEF'         Name.Class
 ': '          Text
 'NSObject'    Name.Builtin.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Punctuation
 ' '           Text
 'id'          Keyword.Type
 ')'           Punctuation
 'init'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '['           Punctuation
 '%c'          Keyword
 '('           Punctuation
 'RuntimeAccessibleClass' Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%end'        Keyword
 '\n\n'        Text
 '%group'      Keyword
 ' '           Text
 'OptionalHooks' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%hook'       Keyword
 ' '           Text
 'ABC'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Punctuation
 ' '           Text
 'void'        Keyword.Type
 ')'           Punctuation
 'release'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'retain'      Keyword
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '%orig'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%end'        Keyword
 '\n'          Text
 '%ctor'       Keyword
 ' '           Text
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '%init'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'OptionalCondition' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '%init'       Keyword
 '('           Punctuation
 'OptionalHooks' Name.Class
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/mako/test.mao b/tests/examplefiles/mako/test.mao
new file mode 100644 (file)
index 0000000..6ff797e
--- /dev/null
@@ -0,0 +1,48 @@
+
+## Single line comment
+<!DOCTYPE html>
+<%doc>
+    This is the base template
+</%doc>
+<html>
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+       <meta name=viewport content="width=device-width, initial-scale=1">
+       <title>
+               % if page.meta.get ('title', None) and page.url != '/':
+                       / ${page.url}
+               % endif
+       </title>
+       <link type="text/css" rel="stylesheet" href="/style.css" />
+</head>
+<body>
+       <div class="header-wrapper">
+           <header>
+               <nav>
+                   <ul>
+                                       % for item in site.data['menu']:
+                                               <li>
+                                               <a href="${item['url']}">
+                                                       % if 'image' in item:
+                                                       <img src="${item['image']}" height="12px">
+                                                       % endif
+                                                       ${item['title']}
+                                               </a>
+                                               </li>
+                                       % endfor
+                               </ul>
+               </nav>
+           </header>
+       </div>
+       <div id="container">
+               <section id="content">
+               ${self.body()}
+               </section>
+               <footer>
+                       <a href="#">Imprint</a>&nbsp;|&nbsp;<a href="#">Privacy policy</a>
+               </footer>
+    </div>
+       <script type="text/javascript"> 
+       </script>
+</body>
+</html>
diff --git a/tests/examplefiles/mako/test.mao.output b/tests/examplefiles/mako/test.mao.output
new file mode 100644 (file)
index 0000000..e3a6344
--- /dev/null
@@ -0,0 +1,142 @@
+'## Single line comment' Comment.Single
+'\n'          Text.Whitespace
+
+'<!DOCTYPE html>\n' Other
+
+'<%doc>\n    This is the base template\n</%doc>' Comment.Multiline
+'\n<html>\n<head>\n\t<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n\t<meta name=viewport content="width=device-width, initial-scale=1">\n  \t<title>\n' Other
+
+'\t  \t'      Text.Whitespace
+'%'           Comment.Preproc
+' '           Text
+'if'          Keyword
+' '           Text
+'page'        Name
+'.'           Operator
+'meta'        Name
+'.'           Operator
+'get'         Name
+' '           Text
+'('           Punctuation
+"'"           Literal.String.Single
+'title'       Literal.String.Single
+"'"           Literal.String.Single
+','           Punctuation
+' '           Text
+'None'        Keyword.Constant
+')'           Punctuation
+' '           Text
+'and'         Operator.Word
+' '           Text
+'page'        Name
+'.'           Operator
+'url'         Name
+' '           Text
+'!='          Operator
+' '           Text
+"'"           Literal.String.Single
+'/'           Literal.String.Single
+"'"           Literal.String.Single
+':'           Punctuation
+'\n'          Other
+
+'\t\t\t/ '    Other
+'${'          Comment.Preproc
+'page'        Name
+'.'           Operator
+'url'         Name
+'}'           Comment.Preproc
+'\n\t\t'      Text.Whitespace
+'%'           Comment.Preproc
+' endif'      Keyword
+'\n'          Other
+
+'\t</title>\n\t<link type="text/css" rel="stylesheet" href="/style.css" />\n</head>\n<body>\n\t<div class="header-wrapper">\n\t    <header>\n\t        <nav>\n\t            <ul>\n' Other
+
+'\t\t\t\t\t'  Text.Whitespace
+'%'           Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'item'        Name
+' '           Text
+'in'          Operator.Word
+' '           Text
+'site'        Name
+'.'           Operator
+'data'        Name
+'['           Punctuation
+"'"           Literal.String.Single
+'menu'        Literal.String.Single
+"'"           Literal.String.Single
+']'           Punctuation
+':'           Punctuation
+'\n'          Other
+
+'\t\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href="' Other
+'${'          Comment.Preproc
+'item'        Name
+'['           Punctuation
+"'"           Literal.String.Single
+'url'         Literal.String.Single
+"'"           Literal.String.Single
+']'           Punctuation
+'}'           Comment.Preproc
+'">\n'        Other
+
+'\t\t\t\t\t\t\t' Text.Whitespace
+'%'           Comment.Preproc
+' '           Text
+'if'          Keyword
+' '           Text
+"'"           Literal.String.Single
+'image'       Literal.String.Single
+"'"           Literal.String.Single
+' '           Text
+'in'          Operator.Word
+' '           Text
+'item'        Name
+':'           Punctuation
+'\n'          Other
+
+'\t\t\t\t\t\t\t<img src="' Other
+'${'          Comment.Preproc
+'item'        Name
+'['           Punctuation
+"'"           Literal.String.Single
+'image'       Literal.String.Single
+"'"           Literal.String.Single
+']'           Punctuation
+'}'           Comment.Preproc
+'" height="12px">\n' Other
+
+'\t\t\t\t\t\t\t' Text.Whitespace
+'%'           Comment.Preproc
+' endif'      Keyword
+'\n'          Other
+
+'\t\t\t\t\t\t\t' Other
+'${'          Comment.Preproc
+'item'        Name
+'['           Punctuation
+"'"           Literal.String.Single
+'title'       Literal.String.Single
+"'"           Literal.String.Single
+']'           Punctuation
+'}'           Comment.Preproc
+'\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n' Other
+
+'\t\t\t\t\t'  Text.Whitespace
+'%'           Comment.Preproc
+' endfor'     Keyword
+'\n'          Other
+
+'\t\t\t\t</ul>\n\t    \t</nav>\n\t    </header>\n\t</div>\n\t<div id="container">\n\t\t<section id="content">\n\t\t' Other
+'${'          Comment.Preproc
+'self'        Name.Builtin.Pseudo
+'.'           Operator
+'body'        Name
+'('           Punctuation
+')'           Punctuation
+'}'           Comment.Preproc
+'\n\t\t</section>\n\t\t<footer>\n\t\t\t<a href="#">Imprint</a>&nbsp;|&nbsp;<a href="#">Privacy policy</a>\n\t\t</footer>\n    </div>\n\t<script type="text/javascript">\t\n\t</script>\n</body>\n</html>\n' Other
diff --git a/tests/examplefiles/meson/meson.build b/tests/examplefiles/meson/meson.build
new file mode 100644 (file)
index 0000000..1d344bb
--- /dev/null
@@ -0,0 +1,52 @@
+project('pygments', 'c',
+  version : '0.1',
+  default_options : ['warning_level=3']
+)
+import('fs')
+builder = build_machine
+target = target_machine
+host = host_machine
+
+# This is a comment
+cc = meson.get_compiler('c')
+cc.compiles(
+'''
+/*This
+''
+is a multiline string
+
+# with an embedded line that looks like a comment
+
+and some other elements like
+
+true false
+0 1
+project()
+*/
+#include <stdio.h>
+int main(void) {
+  printf("hello\n");
+}
+'''
+)
+exe = executable('pygments', 'pygments.c', install : true)
+dep = cc.find_library('foo', disabler: true)
+
+foreach x : [42, 0x55000, 0o6, exe]
+  if not is_disabler(dep)
+    library('lib', 'lib.c', include_directories: [], dependencies: dep)
+  elif false
+    both_libraries('lib', 'lib2.c')
+  else
+    message('failed')
+    continue
+  endif
+  break
+endforeach
+
+test('basic', exe)
+subdir('dir')
+if not get_option('build-docs')
+  summary({'docs': [false, '(disabled by config)']}, section: 'Configuration')
+  subdir_done()
+endif
diff --git a/tests/examplefiles/meson/meson.build.output b/tests/examplefiles/meson/meson.build.output
new file mode 100644 (file)
index 0000000..c7f2bc4
--- /dev/null
@@ -0,0 +1,249 @@
+'project'     Name.Builtin
+'('           Punctuation
+"'pygments'"  Literal.String
+','           Punctuation
+' '           Text.Whitespace
+"'c'"         Literal.String
+','           Punctuation
+'\n  '        Text.Whitespace
+'version'     Name
+' '           Text.Whitespace
+':'           Punctuation
+' '           Text.Whitespace
+"'0.1'"       Literal.String
+','           Punctuation
+'\n  '        Text.Whitespace
+'default_options' Name
+' '           Text.Whitespace
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+"'warning_level=3'" Literal.String
+']'           Punctuation
+'\n'          Text.Whitespace
+
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'import'      Name.Namespace
+'('           Punctuation
+"'fs'"        Literal.String
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'builder'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'build_machine' Name.Variable.Magic
+'\n'          Text.Whitespace
+
+'target'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'target_machine' Name.Variable.Magic
+'\n'          Text.Whitespace
+
+'host'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'host_machine' Name.Variable.Magic
+'\n\n'        Text.Whitespace
+
+'# This is a comment' Comment
+'\n'          Text.Whitespace
+
+'cc'          Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'meson'       Name.Variable.Magic
+'.'           Punctuation
+'get_compiler' Name
+'('           Punctuation
+"'c'"         Literal.String
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'cc'          Name
+'.'           Punctuation
+'compiles'    Name
+'('           Punctuation
+'\n'          Text.Whitespace
+
+'\'\'\'\n/*This\n\'\'\nis a multiline string\n\n# with an embedded line that looks like a comment\n\nand some other elements like\n\ntrue false\n0 1\nproject()\n*/\n#include <stdio.h>\nint main(void) {\n  printf("hello\\n");\n}\n\'\'\'' Literal.String
+'\n'          Text.Whitespace
+
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'exe'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'executable'  Name.Builtin
+'('           Punctuation
+"'pygments'"  Literal.String
+','           Punctuation
+' '           Text.Whitespace
+"'pygments.c'" Literal.String
+','           Punctuation
+' '           Text.Whitespace
+'install'     Name
+' '           Text.Whitespace
+':'           Punctuation
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'dep'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'cc'          Name
+'.'           Punctuation
+'find_library' Name
+'('           Punctuation
+"'foo'"       Literal.String
+','           Punctuation
+' '           Text.Whitespace
+'disabler'    Name.Builtin
+':'           Punctuation
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'foreach'     Keyword
+' '           Text.Whitespace
+'x'           Name
+' '           Text.Whitespace
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'42'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'0x55000'     Literal.Number.Hex
+','           Punctuation
+' '           Text.Whitespace
+'0o6'         Literal.Number.Oct
+','           Punctuation
+' '           Text.Whitespace
+'exe'         Name
+']'           Punctuation
+'\n  '        Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'not'         Operator.Word
+' '           Text.Whitespace
+'is_disabler' Name.Builtin
+'('           Punctuation
+'dep'         Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'library'     Name.Builtin
+'('           Punctuation
+"'lib'"       Literal.String
+','           Punctuation
+' '           Text.Whitespace
+"'lib.c'"     Literal.String
+','           Punctuation
+' '           Text.Whitespace
+'include_directories' Name.Builtin
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+']'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'dependencies' Name
+':'           Punctuation
+' '           Text.Whitespace
+'dep'         Name
+')'           Punctuation
+'\n  '        Text.Whitespace
+'elif'        Keyword
+' '           Text.Whitespace
+'false'       Keyword.Constant
+'\n    '      Text.Whitespace
+'both_libraries' Name.Builtin
+'('           Punctuation
+"'lib'"       Literal.String
+','           Punctuation
+' '           Text.Whitespace
+"'lib2.c'"    Literal.String
+')'           Punctuation
+'\n  '        Text.Whitespace
+'else'        Keyword
+'\n    '      Text.Whitespace
+'message'     Name.Builtin
+'('           Punctuation
+"'failed'"    Literal.String
+')'           Punctuation
+'\n    '      Text.Whitespace
+'continue'    Keyword
+'\n  '        Text.Whitespace
+'endif'       Keyword
+'\n  '        Text.Whitespace
+'break'       Keyword
+'\n'          Text.Whitespace
+
+'endforeach'  Keyword
+'\n\n'        Text.Whitespace
+
+'test'        Name.Builtin
+'('           Punctuation
+"'basic'"     Literal.String
+','           Punctuation
+' '           Text.Whitespace
+'exe'         Name
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'subdir'      Name.Builtin
+'('           Punctuation
+"'dir'"       Literal.String
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'if'          Keyword
+' '           Text.Whitespace
+'not'         Operator.Word
+' '           Text.Whitespace
+'get_option'  Name.Builtin
+'('           Punctuation
+"'build-docs'" Literal.String
+')'           Punctuation
+'\n  '        Text.Whitespace
+'summary'     Name.Builtin
+'('           Punctuation
+'{'           Punctuation
+"'docs'"      Literal.String
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'false'       Keyword.Constant
+','           Punctuation
+' '           Text.Whitespace
+"'(disabled by config)'" Literal.String
+']'           Punctuation
+'}'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'section'     Name
+':'           Punctuation
+' '           Text.Whitespace
+"'Configuration'" Literal.String
+')'           Punctuation
+'\n  '        Text.Whitespace
+'subdir_done' Name.Builtin
+'('           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'endif'       Keyword
+'\n'          Text.Whitespace
index 46291a0e26bb3640c70df6c4091592402a905244..54e516e108bee0ae122a6b1199aabd51a3eac65d 100644 (file)
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<WinUser32.mqh>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'input'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'InpPeriodMultiplier' Name
 '='           Operator
 '3'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// Period multiplier factor\n' Comment.Single
 
 'int'         Keyword.Type
-'       '     Text
+'       '     Text.Whitespace
 'ExtHandle'   Name
 '='           Operator
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnStart'     Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'datetime'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'time0'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'ulong'       Keyword.Type
-'    '        Text
+'    '        Text.Whitespace
 'last_fpos'   Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'long'        Keyword.Type
-'     '       Text
+'     '       Text.Whitespace
 'last_volume' Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'i'           Name
 ','           Punctuation
 'start_pos'   Name
 ','           Punctuation
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'hwnd'        Name
 '='           Operator
 '0'           Literal.Number.Integer
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//---- History header\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'file_version' Name
 '='           Operator
 '401'         Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'string'      Keyword.Type
-'   '         Text
+'   '         Text.Whitespace
 'c_copyright' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'string'      Keyword.Type
-'   '         Text
+'   '         Text.Whitespace
 'c_symbol'    Name
 '='           Operator
 'Symbol'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'i_period'    Name
 '='           Operator
 'Period'      Name.Function
 '*'           Operator
 'InpPeriodMultiplier' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'i_digits'    Name
 '='           Operator
 'Digits'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'i_unused'    Name
 '['           Punctuation
 '13'          Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'MqlRates'    Name
-' '           Text
+' '           Text.Whitespace
 'rate'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//---  \n'   Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'ExtHandle'   Name
 '='           Operator
 'FileOpenHistory' Name.Function
 'FILE_ANSI'   Name.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ExtHandle'   Name
 '<'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'c_copyright' Name
 '='           Operator
 '"'           Literal.String
 '(C)opyright 2003, MetaQuotes Software Corp.' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'ArrayInitialize' Name.Function
 '('           Punctuation
 'i_unused'    Name
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- write history file header\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteInteger' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'LONG_VALUE'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteString' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 '64'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteString' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 '12'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteInteger' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'LONG_VALUE'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteInteger' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'LONG_VALUE'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteInteger' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'LONG_VALUE'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteInteger' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'LONG_VALUE'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'FileWriteArray' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 '13'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- write history file\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'periodseconds' Name
 '='           Operator
 'i_period'    Name
 '*'           Operator
 '60'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'start_pos'   Name
 '='           Operator
 'Bars'        Keyword
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'open'        Name
 'start_pos'   Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 'start_pos'   Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 'start_pos'   Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 'start_pos'   Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'spread'      Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'real_volume' Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '//--- normalize open time\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'time'        Name
 '/'           Operator
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'time'        Name
 '='           Operator
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 'start_pos'   Name
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '>'           Operator
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '-'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'IsStopped'   Name.Function
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'time0'       Name
 '='           Operator
 'Time'        Keyword
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '//--- history may be updated\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//--- modify index if history was updated\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'RefreshRates' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'i'           Name
 '='           Operator
 'iBarShift'   Name.Function
 'time0'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '//---\n'     Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'time0'       Name
 'time'        Name
 '+'           Operator
 'periodseconds' Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '='           Operator
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '='           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'time0'       Name
 '<'           Operator
 'rate'        Name
 '+'           Operator
 'periodseconds' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'close'       Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'last_fpos'   Name
 '='           Operator
 'FileTell'    Name.Function
 'ExtHandle'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'last_volume' Name
 '='           Operator
 '('           Punctuation
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'FileWriteStruct' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'rate'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'cnt'         Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'time0'       Name
 '+'           Operator
 'periodseconds' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'time'        Name
 '/'           Operator
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'time'        Name
 '='           Operator
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'open'        Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'close'       Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 '='           Operator
 'last_volume' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'       '     Text
+'       '     Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 'i'           Name
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 'i'           Name
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'close'       Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '}'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 'FileFlush'   Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'Print'       Name.Function
 '('           Punctuation
 'cnt'         Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- collect incoming ticks\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'datetime'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'last_time'   Name
 '='           Operator
 'LocalTime'   Name
 ')'           Punctuation
 '-5'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'datetime'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cur_time'    Name
 '='           Operator
 'LocalTime'   Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '//--- check for new rates\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'RefreshRates' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'time0'       Name
 '='           Operator
 'Time'        Keyword
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'FileSeek'    Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'SEEK_SET'    Name.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//--- is there current bar?\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'time0'       Name
 '+'           Operator
 'periodseconds' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 '-'           Operator
 'last_volume' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'last_volume' Name
 '='           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-' \n            ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'close'       Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//--- no, there is new bar\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 '-'           Operator
 'last_volume' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rate'        Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//--- write previous bar remains\n' Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'FileWriteStruct' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'rate'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'last_fpos'   Name
 '='           Operator
 'FileTell'    Name.Function
 'ExtHandle'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '//----\n'    Comment.Single
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'time'        Name
 '/'           Operator
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'time'        Name
 '='           Operator
 'periodseconds' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'open'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'low'         Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'high'        Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'close'       Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'last_volume' Name
 '='           Operator
 'rate'        Name
 '.'           Punctuation
 'tick_volume' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//----\n'    Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'FileWriteStruct' Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 'rate'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'FileFlush'   Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//---\n'     Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'hwnd'        Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'hwnd'        Name
 '='           Operator
 'WindowHandle' Name.Function
 'i_period'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'hwnd'        Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'Print'       Name.Function
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//--- refresh window not frequently than 1 time in 2 seconds\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'hwnd'        Name
 '!'           Operator
 '='           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'cur_time'    Name
 '-'           Operator
 'last_time'   Name
 '='           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'PostMessageA' Name
 '('           Punctuation
 'hwnd'        Name
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'last_time'   Name
 '='           Operator
 'cur_time'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'           ' Text
+'           ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'Sleep'       Name.Function
 '('           Punctuation
 '50'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' \n     '    Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'     '       Text.Whitespace
 '}'           Punctuation
-'      \n'    Text
+'      '      Text.Whitespace
+'\n'          Text.Whitespace
 
 '//---\n'     Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'OnDeinit'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reason'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//---\n'     Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ExtHandle'   Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'FileClose'   Name.Function
 '('           Punctuation
 'ExtHandle'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ExtHandle'   Name
 '='           Operator
 '-1'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//---\n'     Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
index 27ac09e960d93f0abb884447b4c867afa2893296..8a40f238ab76216815dee1cd69a538dc4ff19f38 100644 (file)
@@ -10,7 +10,7 @@
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<Object.mqh>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 'class'       Keyword
 ' '           Text
 'CArray'      Name.Class
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'CObject'     Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'm_step_resize' Name
 ';'           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 '// increment size of the array\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'm_data_total' Name
 ';'           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 '// number of elements\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'm_data_max'  Name
 ';'           Punctuation
-'         '   Text
+'         '   Text.Whitespace
 '// maximmum size of the array without memory reallocation\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'm_sort_mode' Name
 ';'           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 '// mode of array sorting\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                     ' Text
+'                     ' Text.Whitespace
 'CArray'      Name
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 '~'           Operator
 'CArray'      Name
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '//--- methods of access to protected data\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'Step'        Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'm_step_resize' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-'              ' Text
+'              ' Text.Whitespace
 'Step'        Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'step'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'Total'       Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'm_data_total' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'Available'   Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'm_data_max'  Name
 'm_data_total' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'Max'         Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'm_data_max'  Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'bool'        Keyword.Type
-'              ' Text
+'              ' Text.Whitespace
 'IsSorted'    Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mode'        Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'm_sort_mode' Name
 'mode'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'int'         Keyword.Type
-'               ' Text
+'               ' Text.Whitespace
 'SortMode'    Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'm_sort_mode' Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '//--- cleaning method\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'void'        Keyword.Type
-'              ' Text
+'              ' Text.Whitespace
 'Clear'       Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm_data_total' Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '//--- methods for working with files\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'Save'        Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'file_handle' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'Load'        Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'file_handle' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '//--- sorting method\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'void'        Keyword.Type
-'              ' Text
+'              ' Text.Whitespace
 'Sort'        Name.Function
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mode'        Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'virtual'     Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 'QuickSort'   Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'beg'         Name
 ','           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Name
 ','           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mode'        Name
 '='           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'm_step_resize' Name
 '('           Punctuation
 '16'          Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'm_data_total' Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'm_data_max'  Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                       ' Text
+'                       ' Text.Whitespace
 'm_sort_mode' Name
 '('           Punctuation
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'CArray'      Name
 ':'           Operator
 ':'           Operator
 'Step'        Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'step'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- check\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'step'        Name
 '>'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'm_step_resize' Name
 '='           Operator
 'step'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- failure\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'CArray'      Name
 ':'           Operator
 ':'           Operator
 'Sort'        Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mode'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- check\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'IsSorted'    Name
 'mode'        Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'm_sort_mode' Name
 '='           Operator
 'mode'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'm_data_total' Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- sort\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'QuickSort'   Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 'mode'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'CArray'      Name
 ':'           Operator
 ':'           Operator
 'Save'        Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'file_handle' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- check handle\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'file_handle' Name
 '='           Operator
 'INVALID_HANDLE' Name.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '//--- write start marker - 0xFFFFFFFFFFFFFFFF\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'FileWriteLong' Name.Function
 'long'        Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//--- write array type\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'FileWriteInteger' Name.Function
 '='           Operator
 'INT_VALUE'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- failure\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 '//+------------------------------------------------------------------+\n' Comment.Single
 
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'CArray'      Name
 ':'           Operator
 ':'           Operator
 'Load'        Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'file_handle' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- check handle\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'file_handle' Name
 '='           Operator
 'INVALID_HANDLE' Name.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '//--- read and check start marker - 0xFFFFFFFFFFFFFFFF\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'FileReadLong' Name.Function
 '='           Operator
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 '//--- read and check array type\n' Comment.Single
 
-'         '   Text
+'         '   Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'FileReadInteger' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//--- failure\n' Comment.Single
 
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//+------------------------------------------------------------------+\n' Comment.Single
index 251d0b9930021bdfa8ce9fcce97a433a3916d277..af446740ec408530c0b55d793892b21640c0539c 100644 (file)
 '/*\n * "Copyright (c) 2008-2011 The Regents of the University  of California.\n * All rights reserved."\n *\n * Permission to use, copy, modify, and distribute this software and its\n * documentation for any purpose, without fee, and without written agreement is\n * hereby granted, provided that the above copyright notice, the following\n * two paragraphs and the author appear in all copies of this software.\n *\n * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR\n * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT\n * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF\n * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS\n * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO\n * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."\n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/**\n * \n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"IPDispatch.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"BlipStatistics.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'configuration' Keyword
-' '           Text
+' '           Text.Whitespace
 'IPDispatchC' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'provides'    Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'IPLower'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'BlipStatistics' Name
 '<'           Operator
 'ip_statistics_t' Name
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'implementation' Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'MainC'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'NoLedsC'     Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'LedsC'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/* IPDispatchP wiring -- fragment rassembly and lib6lowpan bindings */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'IPDispatchP' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'CC2420RadioC' Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'ReadLqiC'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'TimerMilliC' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'SplitControl' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'SplitControl' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPLower'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'IPDispatchP' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'BlipStatistics' Name
-'    '        Text
+'    '        Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'IPDispatchP' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'Boot'        Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MainC'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* #else */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   components ResourceSendP; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   ResourceSendP.SubSend -> MessageC; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   ResourceSendP.Resource -> MessageC.SendResource[unique("RADIO_SEND_RESOURCE")]; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   IPDispatchP.Ieee154Send -> ResourceSendP.Ieee154Send; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* #endif */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'RadioControl' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'BarePacket'  Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 '.'           Punctuation
 'BarePacket'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'Ieee154Send' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 '.'           Punctuation
 'BareSend'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'Ieee154Receive' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 '.'           Punctuation
 'BareReceive' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LOW_POWER_LISTENING' Comment.Preproc
 '\n'          Comment.Preproc
 
-'   '         Text
+'   '         Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'LowPowerListening' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'  '          Text
+'  '          Text.Whitespace
 'MainC'       Name
 '.'           Punctuation
 'SoftwareInit' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'Init'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'PacketLink'  Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'MessageC'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'ReadLqi'     Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'ReadLqiC'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'Leds'        Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'LedsC'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'ExpireTimer' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'TimerMilliC' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PoolC'       Name
 '('           Punctuation
 'message_t'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'N_FRAGMENTS' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PoolC'       Name
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'N_FRAGMENTS' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'QueueC'      Name
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'N_FRAGMENTS' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PoolC'       Name
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'send_info'   Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'N_CONCURRENT_SENDS' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'FragPool'    Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'SendEntryPool' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'SendInfoPool' Name
-'  '          Text
+'  '          Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'SendQueue'   Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'QueueC'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'IPNeighborDiscoveryP' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'IPDispatchP' Name
 '.'           Punctuation
 'NeighborDiscovery' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'IPNeighborDiscoveryP' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   components ICMPResponderC; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* #ifdef BLIP_MULTICAST */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   components MulticastP; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   components new TrickleTimerMilliC(2, 30, 2, 1); */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   IP = MulticastP.IP; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   MainC.SoftwareInit -> MulticastP.Init; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   MulticastP.MulticastRx -> IPDispatchP.Multicast; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   MulticastP.HopHeader -> IPExtensionP.HopByHopExt[0]; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   MulticastP.TrickleTimer -> TrickleTimerMilliC.TrickleTimer[0]; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   MulticastP.IPExtensions -> IPDispatchP; */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* #endif */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef DELUGE' Comment.Preproc
 '\n'          Comment.Preproc
 
-'  '          Text
+'  '          Text.Whitespace
 'components'  Keyword
-' '           Text
+' '           Text.Whitespace
 'NWProgC'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 8f93a7cb82c3e1d92ea11c48701c5a54784ccd65..20cf66770ca94f5fb81554b8db90a5f1eea51baa 100644 (file)
 '/*\n * "Copyright (c) 2008 The Regents of the University  of California.\n * All rights reserved."\n *\n * Permission to use, copy, modify, and distribute this software and its\n * documentation for any purpose, without fee, and without written agreement is\n * hereby granted, provided that the above copyright notice, the following\n * two paragraphs and the author appear in all copies of this software.\n *\n * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR\n * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT\n * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF\n * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS\n * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO\n * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."\n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/blip-tinyos-includes.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/6lowpan.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/lib6lowpan.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/ip.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/in_cksum.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/ip_malloc.h>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"blip_printf.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"IPDispatch.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"BlipStatistics.h"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"table.h"'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n * Provides IP layer reception to applications on motes.\n *\n * @author Stephen Dawson-Haggerty <stevedh@cs.berkeley.edu>\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'module'      Keyword
-' '           Text
+' '           Text.Whitespace
 'IPDispatchP' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'provides'    Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// interface for protocols not requiring special hand-holding\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'IPLower'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'BlipStatistics' Name
 '<'           Operator
 'ip_statistics_t' Name
 '>'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'uses'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Boot'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* link-layer wiring */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'RadioControl' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Packet'      Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'BarePacket'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Send'        Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'Ieee154Send' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Receive'     Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'Ieee154Receive' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* context lookup */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'NeighborDiscovery' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'ReadLqi'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'LowPowerListening' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* buffers for outgoing fragments */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Pool'        Name
 '<'           Operator
 'message_t'   Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Pool'        Name
 '<'           Operator
 'struct'      Keyword
 ' '           Text
 'send_info'   Name.Class
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Pool'        Name
 '<'           Operator
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Queue'       Name
 '<'           Operator
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* expire reconstruction */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Timer'       Name
 '<'           Operator
 'TMilli'      Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'ExpireTimer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Leds'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'provides'    Keyword
-' '           Text
+' '           Text.Whitespace
 'interface'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Init'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'implementation' Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define HAVE_LOWPAN_EXTERN_MATCH_CONTEXT' Comment.Preproc
 '\n'          Comment.Preproc
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lowpan_extern_read_context' Name.Function
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'in6_addr'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'addr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'context'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'NeighborDiscovery' Name
 '.'           Punctuation
 'getContext'  Name
 '('           Punctuation
 'context'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'addr'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'lowpan_extern_match_context' Name.Function
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'in6_addr'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'addr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ctx_id'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'NeighborDiscovery' Name
 '.'           Punctuation
 'matchContext' Name
 '('           Punctuation
 'addr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ctx_id'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "// generally including source files like this is a no-no.  I'm doing\n" Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// this in the hope that the optimizer will do a better job when\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 "// they're part of a component.\n" Comment.Single
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/ieee154_header.c>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/lib6lowpan.c>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/lib6lowpan_4944.c>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<lib6lowpan/lib6lowpan_frag.c>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'S_RUNNING'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'S_STOPPED'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'S_STOPPING'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_STOPPED'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'radioBusy'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'current_local_label' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ip_statistics_t' Name
-' '           Text
+' '           Text.Whitespace
 'stats'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// this in theory could be arbitrarily large; however, it needs to\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// be large enough to hold all active reconstructions, and any tags\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 "// which we are dropping.  It's important to keep dropped tags\n" Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// around for a while, or else there are pathological situations\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// where you continually allocate buffers for packets which will\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// never complete.\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '////////////////////////////////////////\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '//\n'        Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '//\n'        Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'table_t'     Name
-' '           Text
+' '           Text.Whitespace
 'recon_cache' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// table of packets we are currently receiving fragments from, that\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// are destined to us\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 'recon_data'  Name
 '['           Punctuation
 'N_RECONSTRUCTIONS' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '//\n'        Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '//\n'        Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '////////////////////////////////////////\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// task void sendTask();\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reconstruct_clear' Name.Function
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ent'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'recon'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'ent'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'memclr'      Name
 '('           Punctuation
 '('           Punctuation
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '&'           Operator
 '>'           Operator
 'r_meta'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'struct'      Keyword
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'send_info'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'getSendInfo' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'send_info'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 '.'           Punctuation
 'get'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Name
 '-'           Operator
 '>'           Operator
 '_refcount'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Name
 '-'           Operator
 '>'           Operator
 'upper_data'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Name
 '-'           Operator
 '>'           Operator
 'failed'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FALSE'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Name
 '-'           Operator
 '>'           Operator
 'link_transmissions' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Name
 '-'           Operator
 '>'           Operator
 'link_fragments' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Name
 '-'           Operator
 '>'           Operator
 'link_fragment_attempts' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define SENDINFO_INCR(X) ((X)->_refcount)++' Comment.Preproc
 '\n'          Comment.Preproc
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'SENDINFO_DECR' Name
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'send_info'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'si'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '-'           Operator
 '>'           Operator
 '_refcount'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 '.'           Punctuation
 'put'         Name
 'si'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'command'     Keyword
-' '           Text
+' '           Text.Whitespace
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 '.'           Punctuation
 'start'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'RadioControl' Name
 '.'           Punctuation
 'start'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'command'     Keyword
-' '           Text
+' '           Text.Whitespace
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 '.'           Punctuation
 'stop'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'radioBusy'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_STOPPED'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'RadioControl' Name
 '.'           Punctuation
 'stop'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 "// if there's a packet in the radio, wait for it to exit before\n" Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 '// stopping\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_STOPPING'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'SUCCESS'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'event'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'RadioControl' Name
 '.'           Punctuation
 'startDone'   Name
 '('           Punctuation
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LPL_SLEEP_INTERVAL' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LowPowerListening' Name
 '.'           Punctuation
 'setLocalWakeupInterval' Name
 'LPL_SLEEP_INTERVAL' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SUCCESS'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Leds'        Name
 '.'           Punctuation
 'led2Toggle'  Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ExpireTimer' Name
 '.'           Punctuation
 'startPeriodic' Name
 'FRAG_EXPIRE_TIME' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_RUNNING'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'radioBusy'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FALSE'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'signal'      Keyword
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 '.'           Punctuation
 'startDone'   Name
 'error'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'event'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'RadioControl' Name
 '.'           Punctuation
 'stopDone'    Name
 '('           Punctuation
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'signal'      Keyword
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 '.'           Punctuation
 'stopDone'    Name
 'error'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'command'     Keyword
-' '           Text
+' '           Text.Whitespace
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'Init'        Name
 '.'           Punctuation
 'init'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// ip_malloc_init needs to be in init, not booted, because\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// context for coap is initialised in init\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'ip_malloc_init' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'SUCCESS'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'event'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Boot'        Name
 '.'           Punctuation
 'booted'      Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BlipStatistics' Name
 '.'           Punctuation
 'clear'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* set up our reconstruction cache */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'table_init'  Name
 '('           Punctuation
 '&'           Operator
 'recon_cache' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon_data'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'struct'      Keyword
 'lowpan_reconstruct' Name.Class
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'N_RECONSTRUCTIONS' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'table_map'   Name
 '('           Punctuation
 '&'           Operator
 'recon_cache' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reconstruct_clear' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SplitControl' Name
 '.'           Punctuation
 'start'       Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/*\n   *  Receive-side code.\n   */' Comment.Multiline
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'deliver'     Name
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'recon'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ip6_hdr'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'iph'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'ip6_hdr'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'recon'       Name
 '>'           Operator
 'r_buf'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf("deliver [%i]: ", recon->r_bytes_rcvd);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf_buf(recon->r_buf, recon->r_bytes_rcvd);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* the payload length field is always compressed, have to put it back here */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iph'         Name
 '-'           Operator
 '>'           Operator
 'ip6_plen'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'htons'       Name
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_bytes_rcvd' Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'struct'      Keyword
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'signal'      Keyword
-' '           Text
+' '           Text.Whitespace
 'IPLower'     Name
 '.'           Punctuation
 'recv'        Name
 '('           Punctuation
 'iph'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '('           Punctuation
 'iph'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'recon'       Name
 '-'           Operator
 'r_meta'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf("ip_free(%p)\\n", recon->r_buf);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'ip_free'     Name
 '('           Punctuation
 'recon'       Name
 'r_buf'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 "/*\n   * Bulletproof recovery logic is very important to make sure we\n   * don't get wedged with no free buffers.\n   * \n   * The table is managed as follows:\n   *  - unused entries are marked T_UNUSED\n   *  - entries which \n   *     o have a buffer allocated\n   *     o have had a fragment reception before we fired\n   *     are marked T_ACTIVE\n   *  - entries which have not had a fragment reception during the last timer period\n   *     and were active are marked T_ZOMBIE\n   *  - zombie receptions are deleted: their buffer is freed and table entry marked unused.\n   *  - when a fragment is dropped, it is entered into the table as T_FAILED1.\n   *     no buffer is allocated\n   *  - when the timer fires, T_FAILED1 entries are aged to T_FAILED2.\n   * - T_FAILED2 entries are deleted.  Incomming fragments with tags\n   *     that are marked either FAILED1 or FAILED2 are dropped; this\n   *     prevents us from allocating a buffer for a packet which we\n   *     have already dropped fragments from.\n   *\n   */" Comment.Multiline
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reconstruct_age' Name
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'elt'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'recon'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'elt'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ')'           Punctuation
-' \n      '   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_source_key' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_tag'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_bytes_rcvd' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_size'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'T_ACTIVE'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_ZOMBIE'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// age existing receptions\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'T_FAILED1'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_FAILED2'   Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// age existing receptions\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'T_ZOMBIE'    Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'T_FAILED2'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '// deallocate the space for reconstruction\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_source_key' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_tag'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'ip_free'     Name
 '('           Punctuation
 'recon'       Name
 'r_buf'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ip_print_heap' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef PRINTFUART_ENABLED' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 'bndrt_t'     Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'cur'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bndrt_t'     Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'heap'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '('           Punctuation
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'cur'         Name
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'heap'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'IP_MALLOC_HEAP_SIZE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'printf'      Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'heap region start: %p length: %u used: %u' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' \n                  ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                  ' Text.Whitespace
 'cur'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'cur'         Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'IP_MALLOC_LEN' Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 'cur'         Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'IP_MALLOC_INUSE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '15'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'cur'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bndrt_t'     Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '('           Punctuation
 '('           Punctuation
 '('           Punctuation
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'cur'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '*'           Operator
 'cur'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'IP_MALLOC_LEN' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'event'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ExpireTimer' Name
 '.'           Punctuation
 'fired'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'table_map'   Name
 '('           Punctuation
 '&'           Operator
 'recon_cache' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reconstruct_age' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
 
-'\n'          Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'size'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 '.'           Punctuation
 'size'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'size'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'size'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ip_print_heap' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'printfflush' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/*\n   * allocate a structure for recording information about incomming fragments.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'get_reconstruct' Name
 '('           Punctuation
 'uint16_t'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'key'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint16_t'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tag'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf("get_reconstruct: %x %i\\n", key, tag);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'N_RECONSTRUCTIONS' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'recon'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '&'           Operator
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_tag'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tag'         Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_source_key' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'key'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'          \n          ' Text
+'          '  Text.Whitespace
+'\n'          Text.Whitespace
+
+'          '  Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_ACTIVE'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 '// if we have already tried and failed to get a buffer, we\n' Comment.Single
 
-'          '  Text
+'          '  Text.Whitespace
 '// need to drop remaining fragments.\n' Comment.Single
 
-'          '  Text
+'          '  Text.Whitespace
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_UNUSED'    Name
 ')'           Punctuation
-' \n        ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'        '    Text.Whitespace
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'done'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf("got%p\\n", ret);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'event'       Keyword
-' '           Text
+' '           Text.Whitespace
 'message_t'   Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'Ieee154Receive' Name
 '.'           Punctuation
 'receive'     Name
 '('           Punctuation
 'message_t'   Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'msg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'msg_payload' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'packed_lowmsg' Name.Class
-' '           Text
+' '           Text.Whitespace
 'lowmsg'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ieee154_frame_addr' Name.Class
-' '           Text
+' '           Text.Whitespace
 'frame_address' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'buf'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'msg_payload' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf(" -- RECEIVE -- len : %i\\n", len);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'BLIP_STATS_INCR' Name
 '('           Punctuation
 'stats'       Name
 'rx_total'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* unpack the 802.15.4 address fields */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'buf'         Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'unpack_ieee154_hdr' Name
 '('           Punctuation
 'msg_payload' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'frame_address' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'msg_payload' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* unpack and 6lowpan headers */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lowmsg'      Name
 '.'           Punctuation
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lowmsg'      Name
 '.'           Punctuation
 'len'         Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lowmsg'      Name
 '.'           Punctuation
 'headers'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getHeaderBitmap' Name
 '('           Punctuation
 '&'           Operator
 'lowmsg'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lowmsg'      Name
 '.'           Punctuation
 'headers'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'LOWMSG_NALP' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hasFrag1Header' Name
 '('           Punctuation
 '&'           Operator
 'lowmsg'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'hasFragNHeader' Name
 '('           Punctuation
 '&'           Operator
 'lowmsg'      Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '// start reassembly\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'rv'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'recon'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'uint16_t'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tag'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'source_key'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'source_key'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ieee154_hashaddr' Name
 '('           Punctuation
 '&'           Operator
 'ieee_src'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'getFragDgramTag' Name
 '('           Punctuation
 '&'           Operator
 'lowmsg'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'tag'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'get_reconstruct' Name
 '('           Punctuation
 'source_key'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tag'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'recon'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '/* fill in metadata: on fragmented packets, it applies to the\n         first fragment only  */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'memcpy'      Name
 '('           Punctuation
 '&'           Operator
 '.'           Punctuation
 'sender'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'frame_address' Name
 '.'           Punctuation
 'ieee_src'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'ieee154_addr_t' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_meta'      Name
 '.'           Punctuation
 'lqi'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ReadLqi'     Name
 '.'           Punctuation
 'readLqi'     Name
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_meta'      Name
 '.'           Punctuation
 'rssi'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ReadLqi'     Name
 '.'           Punctuation
 'readRssi'    Name
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hasFrag1Header' Name
 '('           Punctuation
 'lowmsg'      Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_buf'       Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'rv'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lowpan_recon_start' Name
 '('           Punctuation
 '&'           Operator
 'frame_address' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'rv'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lowpan_recon_add' Name
 '('           Punctuation
 'recon'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \n      ' Text
+'        '    Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rv'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_FAILED1'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// printf("start recon buf: %p\\n", recon->r_buf);\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_timeout'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'T_ACTIVE'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_source_key' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'source_key'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_tag'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tag'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_size'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '-'           Operator
 '>'           Operator
 'r_bytes_rcvd' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'deliver'     Name
 '('           Punctuation
 'recon'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '/* no fragmentation, just deliver it */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'rv'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_reconstruct' Name.Class
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '/* fill in metadata */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'memcpy'      Name
 '('           Punctuation
 '&'           Operator
 '.'           Punctuation
 'sender'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'frame_address' Name
 '.'           Punctuation
 'ieee_src'    Name
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'ieee154_addr_t' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '.'           Punctuation
 'r_meta'      Name
 '.'           Punctuation
 'lqi'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ReadLqi'     Name
 '.'           Punctuation
 'readLqi'     Name
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'recon'       Name
 '.'           Punctuation
 'r_meta'      Name
 '.'           Punctuation
 'rssi'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ReadLqi'     Name
 '.'           Punctuation
 'readRssi'    Name
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'buf'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getLowpanPayload' Name
 '('           Punctuation
 '&'           Operator
 'lowmsg'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rv'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lowpan_recon_start' Name
 '('           Punctuation
 '&'           Operator
 'frame_address' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'recon'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recon'       Name
 '.'           Punctuation
 'r_size'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recon'       Name
 '.'           Punctuation
 'r_bytes_rcvd' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'deliver'     Name
 '('           Punctuation
 '&'           Operator
 'recon'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// printf("ip_free(%p)\\n", recon.r_buf);\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'ip_free'     Name
 '('           Punctuation
 'recon'       Name
 'r_buf'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'fail'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'BLIP_STATS_INCR' Name
 '('           Punctuation
 'stats'       Name
 'rx_drop'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'done'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/*\n   * Send-side functionality\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'task'        Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'sendTask'    Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 's_entry'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf("sendTask() - sending\\n");\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'radioBusy'   Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_RUNNING'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'empty'       Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// this does not dequeue\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 's_entry'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'head'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef LPL_SLEEP_INTERVAL' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LowPowerListening' Name
 '.'           Punctuation
 'setRemoteWakeupInterval' Name
 '>'           Operator
 'msg'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'LowPowerListening' Name
 '.'           Punctuation
 'getLocalWakeupInterval' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 'failed'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'dbg'         Name
 '('           Punctuation
 '"'           Literal.String
 'Drops'       Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'drops: sendTask: dropping failed fragment' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Ieee154Send' Name
 '.'           Punctuation
 'send'        Name
 '>'           Operator
 'msg'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                               ' Text
+'                               ' Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BarePacket'  Name
 '.'           Punctuation
 'payloadLength' Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SUCCESS'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'dbg'         Name
 '('           Punctuation
 '"'           Literal.String
 'Drops'       Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'drops: sendTask: send failed' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fail'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'radioBusy'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TRUE'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'fail'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'post'        Keyword
-' '           Text
+' '           Text.Whitespace
 'sendTask'    Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'BLIP_STATS_INCR' Name
 '('           Punctuation
 'stats'       Name
 'tx_drop'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// deallocate the memory associated with this request.\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '// other fragments associated with this packet will get dropped.\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 '-'           Operator
 '>'           Operator
 'failed'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TRUE'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SENDINFO_DECR' Name
 '('           Punctuation
 's_entry'     Name
 'info'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'put'         Name
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'put'         Name
 's_entry'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'dequeue'     Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
 
-'  \n\n  '    Text
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 '/*\n   *  it will pack the message into the fragment pool and enqueue\n   *  those fragments for sending\n   *\n   * it will set\n   *  - payload length\n   *  - version, traffic class and flow label\n   *\n   * the source and destination IP addresses must be set by higher\n   * layers.\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'command'     Keyword
-' '           Text
+' '           Text.Whitespace
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'IPLower'     Name
 '.'           Punctuation
 'send'        Name
 'struct'      Keyword
 ' '           Text
 'ieee154_frame_addr' Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'frame_addr'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                               ' Text
+'                               ' Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'ip6_packet'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'msg'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                               ' Text
+'                               ' Text.Whitespace
 'void'        Keyword.Type
-'  '          Text
+'  '          Text.Whitespace
 '*'           Operator
 'data'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'lowpan_ctx'  Name.Class
-' '           Text
+' '           Text.Whitespace
 'ctx'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'send_info'   Name.Class
-'  '          Text
+'  '          Text.Whitespace
 '*'           Operator
 's_info'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 's_entry'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'message_t'   Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'outgoing'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'frag_len'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SUCCESS'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_RUNNING'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'EOFF'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/* set version to 6 in case upper layers forgot */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'msg'         Name
 '-'           Operator
 '>'           Operator
 'ip6_hdr'     Name
 '.'           Punctuation
 'ip6_vfc'     Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 'IPV6_VERSION_MASK' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'msg'         Name
 '-'           Operator
 '>'           Operator
 'ip6_hdr'     Name
 '.'           Punctuation
 'ip6_vfc'     Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'IPV6_VERSION' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ctx'         Name
 '.'           Punctuation
 'tag'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'current_local_label' Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ctx'         Name
 '.'           Punctuation
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's_info'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getSendInfo' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's_info'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ERETRY'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'cleanup_outer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's_info'      Name
 '-'           Operator
 '>'           Operator
 'upper_data'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frag_len'    Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 's_entry'     Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'get'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'outgoing'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'get'         Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's_entry'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'outgoing'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's_entry'     Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'put'         Name
 's_entry'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outgoing'    Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'put'         Name
 'outgoing'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '// this will cause any fragments we have already enqueued to\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 '// be dropped by the send task.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 's_info'      Name
 '-'           Operator
 '>'           Operator
 'failed'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TRUE'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ERETRY'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BarePacket'  Name
 '.'           Punctuation
 'clear'       Name
 'outgoing'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'frag_len'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lowpan_frag_get' Name
 '('           Punctuation
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Ieee154Send' Name
 '.'           Punctuation
 'getPayload'  Name
 '('           Punctuation
 'outgoing'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                 ' Text
+'                                 ' Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BarePacket'  Name
 '.'           Punctuation
 'maxPayloadLength' Name
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                 ' Text
+'                                 ' Text.Whitespace
 'msg'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                 ' Text
+'                                 ' Text.Whitespace
 'frame_addr'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                                 ' Text
+'                                 ' Text.Whitespace
 '&'           Operator
 'ctx'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frag_len'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'frag_len'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'frag_len'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ctx'         Name
 '.'           Punctuation
 'offset'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'BarePacket'  Name
 '.'           Punctuation
 'setPayloadLength' Name
 '('           Punctuation
 'outgoing'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'frag_len'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frag_len'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'put'         Name
 'outgoing'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'put'         Name
 's_entry'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'enqueue'     Name
 '('           Punctuation
 's_entry'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SUCCESS'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'BLIP_STATS_INCR' Name
 '('           Punctuation
 'stats'       Name
 'encfail'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 's_info'      Name
 '-'           Operator
 '>'           Operator
 'failed'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TRUE'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 's_info'      Name
 '-'           Operator
 '>'           Operator
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 'msg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'outgoing'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 'info'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's_info'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '/* configure the L2 */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame_addr'  Name
 '-'           Operator
 'ieee_dst'    Name
 '.'           Punctuation
 'ieee_mode'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'IEEE154_ADDR_SHORT' Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'          '  Text
+'          '  Text.Whitespace
 'frame_addr'  Name
 '-'           Operator
 '>'           Operator
 'ieee_dst'    Name
 '.'           Punctuation
 'i_saddr'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'IEEE154_BROADCAST_ADDR' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 '.'           Punctuation
 'setRetries'  Name
 '>'           Operator
 'msg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 '.'           Punctuation
 'setRetries'  Name
 '>'           Operator
 'msg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'BLIP_L2_RETRIES' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 '.'           Punctuation
 'setRetryDelay' Name
 '>'           Operator
 'msg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'BLIP_L2_DELAY' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'SENDINFO_INCR' Name
 '('           Punctuation
 's_info'      Name
 ')'           Punctuation
 ';'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'       \n    ' Text
+'       '     Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 '// printf("got %i frags\\n", s_info->link_fragments);\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'done'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'BLIP_STATS_INCR' Name
 '('           Punctuation
 'stats'       Name
 'sent'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SENDINFO_DECR' Name
 '('           Punctuation
 's_info'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'post'        Keyword
-' '           Text
+' '           Text.Whitespace
 'sendTask'    Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'cleanup_outer' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'event'       Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Ieee154Send' Name
 '.'           Punctuation
 'sendDone'    Name
 '('           Punctuation
 'message_t'   Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'msg'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'error_t'     Name
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'send_entry'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 's_entry'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'head'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'radioBusy'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FALSE'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// printf("sendDone: %p %i\\n", msg, error);\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_STOPPING'  Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'RadioControl' Name
 '.'           Punctuation
 'stop'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'S_STOPPED'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    \n    '  Text
+'    '        Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 '-'           Operator
 '>'           Operator
 'link_transmissions' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 '.'           Punctuation
 'getRetries'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 '.'           Punctuation
 'wasDelivered' Name
 'msg'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'PacketLink'  Name
 '.'           Punctuation
 'getRetries'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 '-'           Operator
 '>'           Operator
 'failed'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TRUE'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'signal'      Keyword
-' '           Text
+' '           Text.Whitespace
 'IPLower'     Name
 '.'           Punctuation
 'sendDone'    Name
 'info'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*       if (s_entry->info->policy.dest[0] != 0xffff) */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*         dbg("Drops", "drops: sendDone: frag was not delivered\\n"); */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '// need to check for broadcast frames\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 '// BLIP_STATS_INCR(stats.tx_drop);\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's_entry'     Name
 '-'           Operator
 '-'           Operator
 '>'           Operator
 'link_fragment_attempts' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' \n               ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'               ' Text.Whitespace
 's_entry'     Name
 '-'           Operator
 '>'           Operator
 '>'           Operator
 'link_fragments' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'signal'      Keyword
-' '           Text
+' '           Text.Whitespace
 'IPLower'     Name
 '.'           Punctuation
 'sendDone'    Name
 'info'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'done'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '// kill off any pending fragments\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'SENDINFO_DECR' Name
 '('           Punctuation
 's_entry'     Name
 'info'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'put'         Name
 'msg'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'put'         Name
 's_entry'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'dequeue'     Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'post'        Keyword
-' '           Text
+' '           Text.Whitespace
 'sendTask'    Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#if 0'       Comment.Preproc
 '\n'          Comment
 
 '#endif\n'    Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/*\n   * BlipStatistics interface\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'command'     Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'BlipStatistics' Name
 '.'           Punctuation
 'get'         Name
 '('           Punctuation
 'ip_statistics_t' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'statistics'  Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef BLIP_STATS_IP_MEM' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'fragpool'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'FragPool'    Name
 '.'           Punctuation
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'sendinfo'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendInfoPool' Name
 '.'           Punctuation
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'sendentry'   Name
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendEntryPool' Name
 '.'           Punctuation
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'sndqueue'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword
-' '           Text
+' '           Text.Whitespace
 'SendQueue'   Name
 '.'           Punctuation
 'size'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'heapfree'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ip_malloc_freespace' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'printf'      Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'fragpool'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'sendinfo'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'sendentry'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'sndqueue'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'               ' Text
+'               ' Text.Whitespace
 'stats'       Name
 '.'           Punctuation
 'heapfree'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 'memcpy'      Name
 '('           Punctuation
 'statistics'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'stats'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'ip_statistics_t' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'command'     Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'BlipStatistics' Name
 '.'           Punctuation
 'clear'       Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'memclr'      Name
 '('           Punctuation
 '('           Punctuation
 'uint8_t'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '&'           Operator
 'stats'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'ip_statistics_t' Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   default event void IP.recv[uint8_t nxt_hdr](struct ip6_hdr *iph, */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*                                               void *payload, */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*                                               struct ip_metadata *meta) { */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   } */'   Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   default event void Multicast.recv[uint8_t scope](struct ip6_hdr *iph, */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*                                                    void *payload, */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*                                                    struct ip_metadata *meta) { */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*   } */'   Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl b/tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl
new file mode 100644 (file)
index 0000000..7679d9c
--- /dev/null
@@ -0,0 +1,20 @@
+// Node.js REPL Session
+> let a = 3
+undefined
+> a
+3
+> let b = '4'
+undefined
+> b
+'4'
+> b == a
+false
+> b === a
+false
+> if(a) {
+...   console.log(a)
+... }
+3
+undefined
+> c
+Uncaught ReferenceError: c is not defined
diff --git a/tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl.output b/tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl.output
new file mode 100644 (file)
index 0000000..3e9ae5c
--- /dev/null
@@ -0,0 +1,112 @@
+''            Text
+'// Node.js REPL Session\n' Comment.Single
+
+'> '          Generic.Prompt
+'let'         Keyword.Declaration
+' '           Text
+'a'           Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'3'           Literal.Number.Float
+'\n'          Text
+
+'undefined'   Keyword.Constant
+'\n'          Text
+
+'> '          Generic.Prompt
+'a'           Name.Other
+'\n'          Text
+
+'3'           Literal.Number.Float
+'\n'          Text
+
+'> '          Generic.Prompt
+'let'         Keyword.Declaration
+' '           Text
+'b'           Name.Other
+' '           Text
+'='           Operator
+' '           Text
+"'4'"         Literal.String.Single
+'\n'          Text
+
+'undefined'   Keyword.Constant
+'\n'          Text
+
+'> '          Generic.Prompt
+'b'           Name.Other
+'\n'          Text
+
+"'4'"         Literal.String.Single
+'\n'          Text
+
+'> '          Generic.Prompt
+'b'           Name.Other
+' '           Text
+'=='          Operator
+' '           Text
+'a'           Name.Other
+'\n'          Text
+
+'false'       Keyword.Constant
+'\n'          Text
+
+'> '          Generic.Prompt
+'b'           Name.Other
+' '           Text
+'==='         Operator
+' '           Text
+'a'           Name.Other
+'\n'          Text
+
+'false'       Keyword.Constant
+'\n'          Text
+
+'> '          Generic.Prompt
+'if'          Keyword
+'('           Punctuation
+'a'           Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n'          Text
+
+'...'         Generic.Prompt
+'   '         Text
+'console'     Name.Other
+'.'           Punctuation
+'log'         Name.Other
+'('           Punctuation
+'a'           Name.Other
+')'           Punctuation
+'\n'          Text
+
+'...'         Generic.Prompt
+' '           Text
+'}'           Punctuation
+'\n'          Text
+
+'3'           Literal.Number.Float
+'\n'          Text
+
+'undefined'   Keyword.Constant
+'\n'          Text
+
+'> '          Generic.Prompt
+'c'           Name.Other
+'\n'          Text
+
+'Uncaught'    Name.Other
+' '           Text
+'ReferenceError' Name.Exception
+':'           Operator
+' '           Text
+'c'           Name.Other
+' '           Text
+'is'          Name.Other
+' '           Text
+'not'         Name.Other
+' '           Text
+'defined'     Name.Other
+'\n'          Text
index 309d901eb7266a25b91db2e6609a062406fdf78b..96d6ce1223c6201e781e5046e6192feb6d7d2eca 100644 (file)
@@ -40,7 +40,7 @@
 '"stdlib.h" ' Comment.Preproc
 '// line 3\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Commented out code with preprocessor\n' Comment.Single
 
@@ -51,9 +51,9 @@
 
 '#endif\n'    Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
+' '           Text.Whitespace
 '#'           Comment.Preproc
 '\\'          Comment.Preproc
 '\n'          Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Empty preprocessor\n' Comment.Single
 
 '#'           Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Class forward declaration\n' Comment.Single
 
 ' '           Text
 'MyClass'     Name.Builtin.Pseudo
 ';'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Empty classes\n' Comment.Single
 
 '@interface'  Keyword
 ' '           Text
 'EmptyClass'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@interface'  Keyword
 ' '           Text
 '\n'          Text
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@interface'  Keyword
 ' '           Text
 '\n'          Text
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Custom class inheriting from built-in\n' Comment.Single
 
 '\n'          Text
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@public'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'myString'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '__weak'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '_weakString' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@protected'  Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'NSTextField' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '_textField'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@private'    Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'NSDate'      Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'privateDate' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Various property aatributes\n' Comment.Single
 
 '('           Punctuation
 'copy'        Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'readwrite'   Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nonatomic'   Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'myString'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@property'   Keyword
 '('           Punctuation
 'weak'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'weakString'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@property'   Keyword
 '('           Punctuation
 'retain'      Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'strong'      Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'atomic'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'IBOutlet'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'NSTextField' Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'textField'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Class methods\n' Comment.Single
 
 'classMethod1:' Name.Function
 '('           Punctuation
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'arg'         Name.Variable
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Punctuation
 ' '           Text
 'classMethod2:' Name.Function
 '('           Punctuation
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ' '           Text
 'arg'         Name.Variable
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// Test space before arg\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'B'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'pragma mark MyMarker' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// MyClass.m\n' Comment.Single
 
 '@interface'  Keyword
 ' '           Text
 'MyClass'     Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@property'   Keyword
 '('           Punctuation
 'retain'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NSDate'      Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'privateDate' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Punctuation
 ' '           Text
 ')'           Punctuation
 'hiddenMethod' Name.Function
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Special category\n' Comment.Single
 
 'MyClass'     Name.Builtin.Pseudo
 ' '           Text
 '(Special)'   Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@property'   Keyword
 '('           Punctuation
 'retain'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NSDate'      Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'specialDate' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@implementation' Keyword
 ' '           Text
 'MyClass'     Name.Builtin.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@synthesize' Keyword
-' '           Text
+' '           Text.Whitespace
 'myString'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@synthesize' Keyword
-' '           Text
+' '           Text.Whitespace
 'privateDate' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Punctuation
 ' '           Text
 'B'           Name
 ')'           Punctuation
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * C-style comment\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Selector keywords/types\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'SEL'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'someMethod'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@selector'   Keyword
 '('           Punctuation
 'hiddenMethod' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Boolean types\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'Boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FALSE'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'BOOL'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'NO'          Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b3'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/**\n   * Number literals\n   */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Int Literal\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Method call\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Define variable\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n3'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
-' '           Text
+' '           Text.Whitespace
 'TEST_NUMBER' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Arthimetic expression\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n4'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// From variable\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'myInt'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n5'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
 'myInt'       Name
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Nest expression\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n6'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '6.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Bool literal\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n7'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@NO'         Literal.Number
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Bool expression\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n8'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@('          Literal
 'YES'         Name.Builtin
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Character\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n9'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "@'a'"        Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// int\n'    Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n10'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@123'        Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// unsigned\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n11'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@1234'       Literal.Number.Integer
 'U'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// long\n'   Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n12'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@1234567890L' Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// float\n'  Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n13'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@3.14F'      Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// double\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSNumber'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'n14'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@3.14F'      Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 '// Array literals\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSArray'     Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'arr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@['          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '1'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '2'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ']'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'arr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@['          Literal
-' '           Text
+' '           Text.Whitespace
 '@['          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '1'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '2'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ']'           Literal
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'arr'         Name
-' '           Text
+' '           Text.Whitespace
 'lastObject'  Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ']'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 'arr'         Name
-' '           Text
+' '           Text.Whitespace
 'lastObject'  Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 '@['          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '1'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '2'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ']'           Literal
-' '           Text
+' '           Text.Whitespace
 'lastObject'  Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
 '// Dictionary literals\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'NSDictionary' Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@{'          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'key'         Literal.String
 '"'           Literal.String
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'value'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '}'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 'allKeys'     Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lastObject'  Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 '@{'          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'key'         Literal.String
 '"'           Literal.String
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'value'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '}'           Literal
-' '           Text
+' '           Text.Whitespace
 'allKeys'     Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lastObject'  Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@{'          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'key'         Literal.String
 '"'           Literal.String
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '@{'          Literal
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'key'         Literal.String
 '"'           Literal.String
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'value'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '}'           Literal
-' '           Text
+' '           Text.Whitespace
 '}'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'hiddenMethod' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '['           Punctuation
 'privateDate' Name
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'NSDictionary' Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'dictionary'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'NSDictionary' Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 'dictionaryWithObjectsAndKeys' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                              ' Text
+'                              ' Text.Whitespace
 '@"'          Literal.String
 '1'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'one'         Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '2'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'two'         Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 '3'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'three'       Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Builtin
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'key'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'dictionary'  Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'NSLog'       Name
 '('           Punctuation
 '@"'          Literal.String
 'Number: %@, Word: %@' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'dictionary'  Name
-' '           Text
+' '           Text.Whitespace
 'valueForKey' Name.Label
 ':'           Punctuation
 'key'         Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Blocks\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '^'           Operator
 'myBlock'     Name
 ')'           Punctuation
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'arg1'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'arg2'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '^'           Operator
 ')'           Punctuation
 '('           Punctuation
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '^'           Operator
 '('           Punctuation
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'value'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'value'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Punctuation
 ' '           Text
 'void'        Keyword.Type
 ')'           Punctuation
 'hiddenMethod' Name.Function
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Synchronized block\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '@synchronized' Keyword
 '('           Punctuation
 'self'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '['           Punctuation
 'myString'    Name
-' '           Text
+' '           Text.Whitespace
 'retain'      Keyword
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '['           Punctuation
 'myString'    Name
-' '           Text
+' '           Text.Whitespace
 'release'     Keyword
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Punctuation
 ' '           Text
 'classMethod1:' Name.Function
 '('           Punctuation
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Punctuation
 ' '           Text
 'classMethod2:' Name.Function
 '('           Punctuation
 'NSString'    Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 ' '           Text
 'arg'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Autorelease pool block\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '@autoreleasepool' Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'NSLog'       Name
 '('           Punctuation
 '@"'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@end'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
index d146330e79c805bd37a1fb1c2acd33d159f5fcfe..65405a746023e57cacc7ce9442c35e0c2b3d7b56 100644 (file)
@@ -1,36 +1,36 @@
 '/*\n * Comment\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Comment */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Comment\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"local.idl"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<global.idl>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define MACRO "String that should not be highlighted"' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef MACRO' Comment.Preproc
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
-'  '          Text
+'  '          Text.Whitespace
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"local.idl"' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
-'  '          Text
+'  '          Text.Whitespace
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<global.idl>' Comment.PreprocFile
 '\n'          Comment.Preproc
 
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'typedef'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ArrayType'   Name
 '['           Punctuation
 '10'          Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@annotation' Keyword
 ' '           Text.Whitespace
 'the_annotation' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 'default'     Keyword
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'int8'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-10'         Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'uint16'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0x10af'      Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'int32'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-0X10AF'     Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '01234'       Literal.Number.Oct
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-102.34e+10' Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f2'          Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.34'         Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f3'          Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0.34'        Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f4'          Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '102.34'      Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f5'          Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '102e+4'      Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'f6'          Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.1e4'        Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'g'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'TRUE'        Literal.Number
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'h'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'FALSE'       Literal.Number
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'i'"         Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'j'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 "\\'"         Literal.String.Escape
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'Hello World' Literal.String
 '\\n'         Literal.String.Escape
 '\\xff'       Literal.String.Escape
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'wchar'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'L'           Literal.String.Affix
 "'i'"         Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'wchar'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'L'           Literal.String.Affix
 "'"           Literal.String.Char
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'wchar'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'L'           Literal.String.Affix
 "'"           Literal.String.Char
 "\\'"         Literal.String.Escape
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'wstring'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'L'           Literal.String.Affix
 '"'           Literal.String.Double
 'Hello World' Literal.String
 '\\xff'       Literal.String.Escape
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'expr'        Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'expr2'       Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '~'           Operator
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'id_with_number_4_in_it' Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@topic'      Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'struct'      Keyword
 ' '           Text.Whitespace
 'the_struct'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '@min'        Name.Decorator
 '('           Punctuation
 '10'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '@key'        Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 't'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'sequence'    Keyword.Type
 '<'           Punctuation
 'long'        Keyword.Type
 '>'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anon_seq'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'module'      Keyword.Namespace
 ' '           Text.Whitespace
 'the_module'  Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0x30'        Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '@some_annotation' Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'enum'        Keyword
 ' '           Text.Whitespace
 'EnumType'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'x_value'     Name.Constant
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@::mod::anno' Name.Decorator
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y_value'     Name.Constant
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'z_value'     Name.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@some_annotation' Name.Decorator
 '('           Punctuation
 '='           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '='           Punctuation
 '"'           Literal.String.Double
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'z'           Name
 '='           Punctuation
 'z_value'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@another_annotation' Name.Decorator
 '('           Punctuation
 '='           Punctuation
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '='           Punctuation
 '"'           Literal.String.Double
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '='           Punctuation
 'y_value'     Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'union'       Keyword
 ' '           Text.Whitespace
 'the_union'   Name.Class
-' '           Text
+' '           Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 '@key'        Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'z'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'default'     Keyword
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'xyz'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'local'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'interface'   Keyword
 ' '           Text.Whitespace
 'the_interface' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'the_struct'  Name
-' '           Text
+' '           Text.Whitespace
 'get_struct'  Name
 '('           Punctuation
 'in'          Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'in_arg'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inout'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'inout_arg'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'out'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'out_arg'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 8e877eec05d11632eef04d774a2369822690c6e6..310f024459d3702e212f4af004c001c342a72f73 100644 (file)
 'pike __REAL_VERSION__' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Generic'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'GenericError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Index'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'IndexError'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'BadArgument' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'BadArgumentError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Math'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'MathError'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Resource'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'ResourceError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Permission'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'PermissionError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Decode'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'DecodeError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Cpp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'CppError'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Compilation' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'CompilationError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'MasterLoad'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'MasterLoadError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'ModuleLoad'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '__builtin'   Name
 '.'           Punctuation
 'ModuleLoadError' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! Returns an Error object for any argument it receives. If the\n' Comment.Single
 
 '//! argument already is an Error object or is empty, it does nothing.\n' Comment.Single
 
 'object'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mkerror'     Name.Function
 '('           Punctuation
 'mixed'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'UNDEFINED'   Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'objectp'     Name
 '('           Punctuation
 'error'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 '-'           Operator
 '>'           Operator
 'is_generic_error' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arrayp'      Name
 '('           Punctuation
 'error'       Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Error'       Name
 '.'           Punctuation
 'Generic'     Name
 'error'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name
 '('           Punctuation
 'error'       Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Error'       Name
 '.'           Punctuation
 'Generic'     Name
 'error'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Error'       Name
 '.'           Punctuation
 'Generic'     Name
 '%O'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 6a83acd09a6be7972fb036d42bfd8f1fbc360566..33dd702a70372712f5a4c552b37b706129d7dd83 100644 (file)
 'pike __REAL_VERSION__' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! A string wrapper that pretends to be a @[Stdio.File] object\n' Comment.Single
 
 '//! in addition to some features of a @[Stdio.FILE] object.\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! This constant can be used to distinguish a FakeFile object\n' Comment.Single
 
 '//! from a real @[Stdio.File] object.\n' Comment.Single
 
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 'is_fake_file' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 '('           Punctuation
 '0.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 '('           Punctuation
 '0.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mtime'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'read_cb'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'read_oob_cb' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'write_cb'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'write_oob_cb' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'close_cb'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->close()]\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'close'       Name.Function
 '('           Punctuation
 'void'        Keyword.Type
 '|'           Operator
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'direction'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'direction'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lower_case'  Name
 '('           Punctuation
 'direction'   Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cr'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'has_value'   Name
 '('           Punctuation
 'direction'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'r'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cw'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'has_value'   Name
 '('           Punctuation
 'direction'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'cr'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'r'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'cw'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// FIXME: Close callback\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @decl void create(string data, void|string type, void|int pointer)\n' Comment.Single
 
 '//!   @[Stdio.File()->create()]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'create'      Name.Function
 '('           Punctuation
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_data'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
 '|'           Operator
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 '|'           Operator
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_ptr'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 '_data'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_data'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_ptr'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'mtime'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'time'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'lower_case'  Name
 '('           Punctuation
 'type'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'has_value'   Name
 '('           Punctuation
 'type'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'r'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'r'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'has_value'   Name
 '('           Punctuation
 'type'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'r'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'make_type_str' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'r'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'w'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->dup()]\n' Comment.Single
 
 'this_program' Name
-' '           Text
+' '           Text.Whitespace
 'dup'         Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'this_program' Name
 '('           Punctuation
 'data'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'make_type_str' Name
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! Always returns 0.\n' Comment.Single
 
 '//!   @[Stdio.File()->errno()]\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'errno'       Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! Returns size and the creation time of the string.\n' Comment.Single
 
 'Stdio'       Name
 '.'           Punctuation
 'Stat'        Name
-' '           Text
+' '           Text.Whitespace
 'stat'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'Stdio'       Name
 '.'           Punctuation
 'Stat'        Name
-' '           Text
+' '           Text.Whitespace
 'st'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Stdio'       Name
 '.'           Punctuation
 'Stat'        Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'st'          Name
 '-'           Operator
 '>'           Operator
 'size'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'st'          Name
 '-'           Operator
 '>'           Operator
 '='           Operator
 'mtime'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'st'          Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'st'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 'String'      Name
 '.'           Punctuation
 'SplitIterator' Name
-' '           Text
+' '           Text.Whitespace
 'line_iterator' Name
 '('           Punctuation
 'int'         Keyword.Type
 '|'           Operator
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'trim'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'trim'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '.'           Punctuation
 'SplitIterator' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '-'           Operator
 '"'           Literal.String
 '\\r'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\n'         Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '.'           Punctuation
 'SplitIterator' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\n'         Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'mixed'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'id'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->query_id()]\n' Comment.Single
 
 'mixed'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_id'    Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_id()]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_id'      Name.Function
 '('           Punctuation
 'mixed'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_id'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_id'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 ':'           Operator
 'string'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'read_function' Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nbytes'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'lambda'      Keyword.Type
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'read'        Name
 '('           Punctuation
 'nbytes'      Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '1.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'peek'        Name
 '('           Punctuation
 'int'         Keyword.Type
 'float'       Keyword.Type
 '|'           Operator
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'timeout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! Always returns 0.\n' Comment.Single
 
 '//!   @[Stdio.File()->query_address()]\n' Comment.Single
 
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_address' Name
 '('           Punctuation
 'void'        Keyword.Type
 '0.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'is_local'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->read()]\n' Comment.Single
 
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'read'        Name
 '('           Punctuation
 'void'        Keyword.Type
 '0.'          Literal.Number.Float
 '.'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
 '|'           Operator
 'int'         Keyword.Type
 '0.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'not_all'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'error'       Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'start'       Name
 '='           Operator
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'zero_type'   Name
 '('           Punctuation
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 '>'           Operator
 'sizeof'      Keyword
 'data'        Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// FIXME: read callback\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 'start'       Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.FILE()->gets()]\n' Comment.Single
 
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'gets'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'sscanf'      Keyword
 '('           Punctuation
 'data'        Name
 'ret'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ret'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
 '+'           Operator
 '='           Operator
 '+'           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ptr'         Name
 'data'        Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ptr'         Name
 '='           Operator
 'sizeof'      Keyword
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'ret'         Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'ret'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// FIXME: read callback\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.FILE()->getchar()]\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getchar'     Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'catch'       Keyword
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'c'           Name
 '='           Operator
 '-'           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
 '+'           Operator
 '+'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// FIXME: read callback\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.FILE()->unread()]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'unread'      Name
 '('           Punctuation
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'data'        Name
 '='           Operator
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
 '-'           Operator
 '='           Operator
 's'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'data'        Name
 '='           Operator
 's'           Name
 '.'           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->seek()]\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'seek'        Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
 '|'           Operator
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'mult'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
 '|'           Operator
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'add'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'mult'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 '*'           Operator
 'mult'        Name
 '+'           Operator
 'add'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'pos'         Name
 '<'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 '+'           Operator
 'pos'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'pos'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pos'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'strlen'      Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'strlen'      Name
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! Always returns 1.\n' Comment.Single
 
 '1.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sync'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->tell()]\n' Comment.Single
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'tell'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '0.'          Literal.Number.Float
 '.1'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'truncate'    Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 '.'           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 '='           Operator
 'length'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '1.'          Literal.Number.Float
 '.'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'write'       Name
 '('           Punctuation
 'string'      Keyword.Type
 '('           Punctuation
 'string'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mixed'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'extra'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'w'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'arrayp'      Name
 'str'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 '='           Operator
 'str'         Name
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'sizeof'      Keyword
 'extra'       Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 '='           Operator
 'sprintf'     Name
 '('           Punctuation
 'str'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
 'extra'       Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ptr'         Name
 'data'        Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'sizeof'      Keyword
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'data'        Name
 '['           Punctuation
 'ptr'         Name
 '+'           Operator
 '+'           Operator
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 '.'           Punctuation
 '-'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'str'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '['           Punctuation
 'ptr'         Name
 '.'           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// FIXME: write callback\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'str'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_blocking]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_blocking' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'close_cb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'read_cb'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'read_oob_cb' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'write_cb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'write_oob_cb' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_blocking_keep_callbacks]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_blocking_keep_callbacks' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_blocking]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_nonblocking' Name
 '('           Punctuation
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'rcb'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'wcb'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ccb'         Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t     '   Text
+'\t\t     '   Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'rocb'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'wocb'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'read_cb'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rcb'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'write_cb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'wcb'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'close_cb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ccb'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'read_oob_cb' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rocb'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'write_oob_cb' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'wocb'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_blocking_keep_callbacks]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_nonblocking_keep_callbacks' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_close_callback]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_close_callback' Name
 '('           Punctuation
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'close_cb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_read_callback]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_read_callback' Name
 '('           Punctuation
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'read_cb'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_read_oob_callback]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_read_oob_callback' Name
 '('           Punctuation
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'read_oob_cb' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_write_callback]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_write_callback' Name
 '('           Punctuation
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'write_cb'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->set_write_oob_callback]\n' Comment.Single
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'set_write_oob_callback' Name
 '('           Punctuation
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'write_oob_cb' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cb'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->query_close_callback]\n' Comment.Single
 
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_close_callback' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'close_cb'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->query_read_callback]\n' Comment.Single
 
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_read_callback' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'read_cb'     Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->query_read_oob_callback]\n' Comment.Single
 
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_read_oob_callback' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'read_oob_cb' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->query_write_callback]\n' Comment.Single
 
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_write_callback' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'write_cb'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @seealso\n' Comment.Single
 
 '//!   @[Stdio.File()->query_write_oob_callback]\n' Comment.Single
 
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'query_write_oob_callback' Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'write_oob_cb' Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '_sprintf'    Name
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 't'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 't'           Name
 '='           Operator
 '='           Operator
 "'"           Literal.String.Char
 'O'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 '"'           Literal.String
 '%O(%d,%O)'   Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this_program' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t   '   Text
+'\t\t\t   '   Text.Whitespace
 'make_type_str' Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// FakeFile specials.\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! A FakeFile can be casted to a string.\n' Comment.Single
 
 'mixed'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cast'        Name
 '('           Punctuation
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'to'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 'to'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'string'      Literal.String
 '"'           Literal.String
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'object'      Literal.String
 '"'           Literal.String
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'error'       Name
 '('           Punctuation
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'to'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! Sizeof on a FakeFile returns the size of its contents.\n' Comment.Single
 
 '0.'          Literal.Number.Float
 '.'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_sizeof'     Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @ignore\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define NOPE(X) mixed X (mixed ... args) { error("This is a FakeFile. %s is not available.\\n", #X); }' Comment.Preproc
 'assign'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'async_connect' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'connect'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'connect_unix' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'open'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'open_socket' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'pipe'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'tcgetattr'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'tcsetattr'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Stdio.Fd\n' Comment.Single
 
 'dup2'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'lock'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// We could implement this\n' Comment.Single
 
 'NOPE'        Name
 'mode'        Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// We could implement this\n' Comment.Single
 
 'NOPE'        Name
 'proxy'       Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// We could implement this\n' Comment.Single
 
 'NOPE'        Name
 'query_fd'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'read_oob'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'set_close_on_exec' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'set_keepalive' Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'NOPE'        Name
 '('           Punctuation
 'trylock'     Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// We could implement this\n' Comment.Single
 
 'NOPE'        Name
 'write_oob'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '//! @endignore\n' Comment.Single
diff --git a/tests/examplefiles/procfile/Procfile b/tests/examplefiles/procfile/Procfile
new file mode 100644 (file)
index 0000000..3778507
--- /dev/null
@@ -0,0 +1,3 @@
+db: runzeo -C zeoserver.config
+web: bundle exec rails server -p $PORT
+stuff: env FLASK_ENV=development run -p 9 --stuff 'foobar'
\ No newline at end of file
diff --git a/tests/examplefiles/procfile/Procfile.output b/tests/examplefiles/procfile/Procfile.output
new file mode 100644 (file)
index 0000000..467e692
--- /dev/null
@@ -0,0 +1,45 @@
+'db'          Name.Label
+':'           Punctuation
+' '           Text.Whitespace
+'runzeo'      Text
+' '           Text.Whitespace
+'-C'          Text
+' '           Text.Whitespace
+'zeoserver.config' Text
+'\n'          Text.Whitespace
+
+'web'         Name.Label
+':'           Punctuation
+' '           Text.Whitespace
+'bundle'      Text
+' '           Text.Whitespace
+'exec'        Text
+' '           Text.Whitespace
+'rails'       Text
+' '           Text.Whitespace
+'server'      Text
+' '           Text.Whitespace
+'-p'          Text
+' '           Text.Whitespace
+'$PORT'       Name.Variable
+'\n'          Text.Whitespace
+
+'stuff'       Name.Label
+':'           Punctuation
+' '           Text.Whitespace
+'env'         Text
+' '           Text.Whitespace
+'FLASK_ENV'   Name.Variable
+'='           Punctuation
+'development' Literal.String
+' '           Text.Whitespace
+'run'         Text
+' '           Text.Whitespace
+'-p'          Text
+' '           Text.Whitespace
+'9'           Literal.Number.Integer
+' '           Text.Whitespace
+'--stuff'     Text
+' '           Text.Whitespace
+"'foobar'"    Literal.String
+'\n'          Text.Whitespace
index e977d7aed8dd81789e88c7c023052af3e74061bd..2cdae0cf8172e408f1b10bdc37baeb24925670e9 100644 (file)
 '='           Operator
 '\n'          Text
 
-'    '        Text
-'   '         Text
-'^'           Operator
+'       '     Text
+'^'           Punctuation.Marker
 '\n'          Text
 
 'SyntaxError' Generic.Error
index abeb6ec128b7fb5241587b446dc5ab42d32f0332..2ab6654bde1ba5785431eeb6b3b2a0dda9a300ff 100644 (file)
@@ -14,7 +14,7 @@
 '\n'          Text
 
 '    '        Text
-'^'           Operator
+'^'           Punctuation.Marker
 '\n'          Text
 
 'SyntaxError' Generic.Error
diff --git a/tests/examplefiles/pytb/error_locations.pytb b/tests/examplefiles/pytb/error_locations.pytb
new file mode 100644 (file)
index 0000000..b82fb90
--- /dev/null
@@ -0,0 +1,17 @@
+Traceback (most recent call last):
+  File "/home/tb.py", line 13, in <module>
+    in_Python_3_11()
+    ^^^^^^^^^^^^^^^^
+  File "/home/tb.py", line 2, in in_Python_3_11
+    return error_locations()
+           ^^^^^^^^^^^^^^^^^
+  File "/home/tb.py", line 5, in error_locations
+    return are_provided() is True
+           ^^^^^^^^^^^^^^
+  File "/home/tb.py", line 8, in are_provided
+    return in_tracebacks()
+           ^^^^^^^^^^^^^^^
+  File "/home/tb.py", line 11, in in_tracebacks
+    return 1/0
+           ^^^
+ZeroDivisionError: division by zero
diff --git a/tests/examplefiles/pytb/error_locations.pytb.output b/tests/examplefiles/pytb/error_locations.pytb.output
new file mode 100644 (file)
index 0000000..361aa3f
--- /dev/null
@@ -0,0 +1,108 @@
+'Traceback (most recent call last):\n' Generic.Traceback
+
+'  File '     Text
+'"/home/tb.py"' Name.Builtin
+', line '     Text
+'13'          Literal.Number
+', in '       Text
+'<module>'    Name
+'\n'          Text
+
+'    '        Text
+'in_Python_3_11' Name
+'('           Punctuation
+')'           Punctuation
+'\n'          Text
+
+'    '        Text
+'^^^^^^^^^^^^^^^^' Punctuation.Marker
+'\n'          Text
+
+'  File '     Text
+'"/home/tb.py"' Name.Builtin
+', line '     Text
+'2'           Literal.Number
+', in '       Text
+'in_Python_3_11' Name
+'\n'          Text
+
+'    '        Text
+'return'      Keyword
+' '           Text
+'error_locations' Name
+'('           Punctuation
+')'           Punctuation
+'\n'          Text
+
+'           ' Text
+'^^^^^^^^^^^^^^^^^' Punctuation.Marker
+'\n'          Text
+
+'  File '     Text
+'"/home/tb.py"' Name.Builtin
+', line '     Text
+'5'           Literal.Number
+', in '       Text
+'error_locations' Name
+'\n'          Text
+
+'    '        Text
+'return'      Keyword
+' '           Text
+'are_provided' Name
+'('           Punctuation
+')'           Punctuation
+' '           Text
+'is'          Operator.Word
+' '           Text
+'True'        Keyword.Constant
+'\n'          Text
+
+'           ' Text
+'^^^^^^^^^^^^^^' Punctuation.Marker
+'\n'          Text
+
+'  File '     Text
+'"/home/tb.py"' Name.Builtin
+', line '     Text
+'8'           Literal.Number
+', in '       Text
+'are_provided' Name
+'\n'          Text
+
+'    '        Text
+'return'      Keyword
+' '           Text
+'in_tracebacks' Name
+'('           Punctuation
+')'           Punctuation
+'\n'          Text
+
+'           ' Text
+'^^^^^^^^^^^^^^^' Punctuation.Marker
+'\n'          Text
+
+'  File '     Text
+'"/home/tb.py"' Name.Builtin
+', line '     Text
+'11'          Literal.Number
+', in '       Text
+'in_tracebacks' Name
+'\n'          Text
+
+'    '        Text
+'return'      Keyword
+' '           Text
+'1'           Literal.Number.Integer
+'/'           Operator
+'0'           Literal.Number.Integer
+'\n'          Text
+
+'           ' Text
+'^^^'         Punctuation.Marker
+'\n'          Text
+
+'ZeroDivisionError' Generic.Error
+': '          Text
+'division by zero' Name
+'\n'          Text
index 9b76022478d425f15628081f29bfc1ee3a23b331..05445c72b167557d98625849d73def2c6fadb691 100644 (file)
@@ -10,9 +10,8 @@
 '+'           Operator
 '\n'          Text
 
-'    '        Text
-' '           Text
-'^'           Operator
+'     '       Text
+'^'           Punctuation.Marker
 '\n'          Text
 
 'SyntaxError' Generic.Error
diff --git a/tests/examplefiles/pytb/syntax_error.py2tb b/tests/examplefiles/pytb/syntax_error.py2tb
new file mode 100644 (file)
index 0000000..3525cee
--- /dev/null
@@ -0,0 +1,4 @@
+  File "<stdin>", line 1
+    mismatch(]
+           ^
+SyntaxError: closing parenthesis ']' does not match opening parenthesis '('
diff --git a/tests/examplefiles/pytb/syntax_error.py2tb.output b/tests/examplefiles/pytb/syntax_error.py2tb.output
new file mode 100644 (file)
index 0000000..f7ae91b
--- /dev/null
@@ -0,0 +1,21 @@
+''            Generic.Traceback
+'  File '     Text
+'"<stdin>"'   Name.Builtin
+', line '     Text
+'1'           Literal.Number
+'\n'          Text
+
+'    '        Text
+'mismatch'    Name
+'('           Punctuation
+']'           Punctuation
+'\n'          Text
+
+'           ' Text
+'^'           Punctuation.Marker
+'\n'          Text
+
+'SyntaxError' Generic.Error
+': '          Text
+"closing parenthesis ']' does not match opening parenthesis '('" Name
+'\n'          Text
diff --git a/tests/examplefiles/pytb/syntax_error.pytb b/tests/examplefiles/pytb/syntax_error.pytb
new file mode 100644 (file)
index 0000000..3525cee
--- /dev/null
@@ -0,0 +1,4 @@
+  File "<stdin>", line 1
+    mismatch(]
+           ^
+SyntaxError: closing parenthesis ']' does not match opening parenthesis '('
diff --git a/tests/examplefiles/pytb/syntax_error.pytb.output b/tests/examplefiles/pytb/syntax_error.pytb.output
new file mode 100644 (file)
index 0000000..f7ae91b
--- /dev/null
@@ -0,0 +1,21 @@
+''            Generic.Traceback
+'  File '     Text
+'"<stdin>"'   Name.Builtin
+', line '     Text
+'1'           Literal.Number
+'\n'          Text
+
+'    '        Text
+'mismatch'    Name
+'('           Punctuation
+']'           Punctuation
+'\n'          Text
+
+'           ' Text
+'^'           Punctuation.Marker
+'\n'          Text
+
+'SyntaxError' Generic.Error
+': '          Text
+"closing parenthesis ']' does not match opening parenthesis '('" Name
+'\n'          Text
diff --git a/tests/examplefiles/pytb/syntax_error_caret_code.py2tb b/tests/examplefiles/pytb/syntax_error_caret_code.py2tb
new file mode 100644 (file)
index 0000000..9a02100
--- /dev/null
@@ -0,0 +1,3 @@
+  File "<stdin>", line 1
+    ^
+    ^
diff --git a/tests/examplefiles/pytb/syntax_error_caret_code.py2tb.output b/tests/examplefiles/pytb/syntax_error_caret_code.py2tb.output
new file mode 100644 (file)
index 0000000..8e51a86
--- /dev/null
@@ -0,0 +1,14 @@
+''            Generic.Traceback
+'  File '     Text
+'"<stdin>"'   Name.Builtin
+', line '     Text
+'1'           Literal.Number
+'\n'          Text
+
+'    '        Text
+'^'           Operator
+'\n'          Text
+
+'    '        Text
+'^'           Punctuation.Marker
+'\n'          Text
diff --git a/tests/examplefiles/pytb/syntax_error_caret_code.pytb b/tests/examplefiles/pytb/syntax_error_caret_code.pytb
new file mode 100644 (file)
index 0000000..9a02100
--- /dev/null
@@ -0,0 +1,3 @@
+  File "<stdin>", line 1
+    ^
+    ^
diff --git a/tests/examplefiles/pytb/syntax_error_caret_code.pytb.output b/tests/examplefiles/pytb/syntax_error_caret_code.pytb.output
new file mode 100644 (file)
index 0000000..8e51a86
--- /dev/null
@@ -0,0 +1,14 @@
+''            Generic.Traceback
+'  File '     Text
+'"<stdin>"'   Name.Builtin
+', line '     Text
+'1'           Literal.Number
+'\n'          Text
+
+'    '        Text
+'^'           Operator
+'\n'          Text
+
+'    '        Text
+'^'           Punctuation.Marker
+'\n'          Text
index c867eccfe9c60da1f12e0e892a544ab9932f5851..5c22624ba2fb8f34a9dd8379ad3ff95973e4f4ea 100644 (file)
 '/*\n * Lexes Ragel input files.\n *\n * @LANG: c++\n *\n * Test works with split code gen.\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<iostream>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<stdlib.h>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<stdio.h>'   Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<string.h>'  Comment.PreprocFile
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'escapeXML'   Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&lt;'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&gt;'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '&'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&amp;'       Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'default'     Keyword
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'escapeXML'   Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&lt;'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&gt;'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '&'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&amp;'       Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'default'     Keyword
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'escapeXML'   Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'end'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 '+'           Operator
 '+'           Operator
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&lt;'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&gt;'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '&'           Literal.String.Char
 "'"           Literal.String.Char
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '&amp;'       Literal.String
 '"'           Literal.String
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'default'     Keyword
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'write'       Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'write'       Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'cout'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'write'       Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'cout'        Name
 '.'           Punctuation
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%%{'         Punctuation
 '\n\t'        Text.Whitespace
 '\n\t\t'      Text.Whitespace
 '$'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fc'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 '\n\t\t'      Text.Whitespace
 '@'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fret'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t'      Text.Whitespace
 'emit'        Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t'      Text
+'\n'          Text.Whitespace
+
+'\t\t'        Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 '\n\n\t'      Text.Whitespace
 '#'           Comment
 "'/*'"        Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/*'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'fcall'       Name
-' '           Text
+' '           Text.Whitespace
 'c_comment'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\t\t'      Text.Whitespace
 "'{'"         Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '{'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'inline_depth' Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' \n\t\t'     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "'}'"         Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '}'           Literal.String.Char
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '/* If dropping down to the last } then return \n\t\t\t * to ragel code. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '-'           Operator
 'inline_depth' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t\t'  Text
+'\n'          Text.Whitespace
+
+'\t\t\t\t'    Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</inline>'   Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'fgoto'       Name
-' '           Text
+' '           Text.Whitespace
 'rlscan'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n\t\t'      Text
+'\n'          Text.Whitespace
+
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 '>'           Operator
 ' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\t'        Text.Whitespace
 "'}%%'"       Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'single_line' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t\t'  Text
+'\n'          Text.Whitespace
+
+'\t\t\t\t'    Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</section>'  Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'fgoto'       Name
-' '           Text
+' '           Text.Whitespace
 'main'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n\t\t'      Text
+'\n'          Text.Whitespace
+
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "'\\n'"       Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'single_line' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t\t'  Text
+'\n'          Text.Whitespace
+
+'\t\t\t\t'    Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</section>'  Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'fgoto'       Name
-' '           Text
+' '           Text.Whitespace
 'main'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n\t\t'      Text
+'\n'          Text.Whitespace
+
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 'word'        Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<word>'      Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</word>'     Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 'integer'     Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<int>'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</int>'      Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 'hex'         Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<hex>'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</hex>'      Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 '"\'"'        Literal.String.Double
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<single_lit>' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</single_lit>' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 '\'"\''       Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<double_lit>' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</double_lit>' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "']'"         Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<or_lit>'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</or_lit>'   Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "'/'"         Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<re_lit>'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</re_lit>'   Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "'{'"         Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'inline_depth' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<inline>{'   Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'fgoto'       Name
-' '           Text
+' '           Text.Whitespace
 'ilscan'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 'punct'       Keyword
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<symbol>'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fc'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '</symbol>'   Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\t\t\n\t\t' Text.Whitespace
 "'/*'"        Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'te'          Name
 '-'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'fcall'       Name
-' '           Text
+' '           Text.Whitespace
 'c_comment'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "'%%{'"       Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-' \n\t\t\t'   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<section>'   Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'single_line' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'fgoto'       Name
-' '           Text
+' '           Text.Whitespace
 'rlscan'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 "'%%'"        Literal.String.Single
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'write'       Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<section>'   Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-' \n\t\t\t'   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'single_line' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-' \n\t\t\t'   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'fgoto'       Name
-' '           Text
+' '           Text.Whitespace
 'rlscan'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 'default'     Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-' \n\t\t\t'   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\t\t\t'      Text.Whitespace
 'escapeXML'   Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ts'          Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
 '\n\n\t\t'    Text.Whitespace
 '\n'          Text.Whitespace
 
 '}%%'         Punctuation
-'\n\n'        Text
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
 
 '%%'          Punctuation
 ' '           Text.Whitespace
 ';'           Punctuation
 '\n'          Text
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Function
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cs'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'act'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ts'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'te'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'stack'       Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'top'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'single_line' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'inline_depth' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '%%'          Punctuation
 ' '           Text.Whitespace
 'write'       Keyword
 ';'           Punctuation
 '\n'          Text
 
-'\n\t'        Text
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 '/* Read in a block. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'pe'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'strlen'      Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'eof'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pe'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '%%'          Punctuation
 ' '           Text.Whitespace
 'write'       Keyword
 ';'           Punctuation
 '\n'          Text
 
-'\n\t'        Text
+'\n'          Text.Whitespace
+
+'\t'          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cs'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'RagelScan_error' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '/* Machine failed before finding a token. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'cerr'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'PARSE ERROR' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'endl'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'exit'        Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define BUFSIZE 2048' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'false'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'test'        Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 6e932f4eb7c7de6cce4984a169a38430874cb7fb..49c1a888f50ad79ed24db6d419b59c36ca1c4cab 100644 (file)
@@ -1,4 +1,4 @@
-'\t'          Text
+'\t'          Text.Whitespace
 '%%'          Punctuation
 ' '           Text.Whitespace
 'write'       Keyword
@@ -7,6 +7,6 @@
 ';'           Punctuation
 '\n'          Text
 
-'\t'          Text
+'\t'          Text.Whitespace
 '/* Read in a block. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
index e350e72318623ee79c5fe73d48761b6981a5e0f7..7c55ec835401647455dc03a13012093c17827f8d 100644 (file)
 '// <![CDATA[\n' Comment.Single
 
 '  '          Text
-'new'         Keyword
+'new'         Operator.Word
 ' '           Text
 'SiteMap'     Name.Other
 '('           Punctuation
diff --git a/tests/examplefiles/smithy/test.smithy b/tests/examplefiles/smithy/test.smithy
new file mode 100644 (file)
index 0000000..3d20f06
--- /dev/null
@@ -0,0 +1,415 @@
+$version: "1.0"
+
+namespace test
+
+/// Define how an HTTP request is serialized given a specific protocol,
+/// authentication scheme, and set of input parameters.
+@trait(selector: "operation")
+@length(min: 1)
+list httpRequestTests {
+    member: HttpRequestTestCase,
+}
+
+@private
+structure HttpRequestTestCase {
+    /// The identifier of the test case. This identifier can be used by
+    /// protocol test implementations to filter out unsupported test
+    /// cases by ID, to generate test case names, etc. The provided `id`
+    /// MUST match Smithy's `identifier` ABNF. No two `httpRequestTests`
+    /// test cases can share the same ID.
+    @required
+    @pattern("^[A-Za-z_][A-Za-z0-9_]+$")
+    id: String,
+
+    /// The name of the protocol to test.
+    @required
+    @idRef(selector: "[trait|protocolDefinition]", failWhenMissing: true)
+    protocol: String,
+
+    /// The expected serialized HTTP request method.
+    @required
+    @length(min: 1)
+    method: String,
+
+    /// The request-target of the HTTP request, not including
+    /// the query string (for example, "/foo/bar").
+    @required
+    @length(min: 1)
+    uri: String,
+
+    /// The host / endpoint provided to the client, not including the path
+    /// or scheme (for example, "example.com").
+    host: String,
+
+    /// The host / endpoint that the client should send to, not including
+    /// the path or scheme (for example, "prefix.example.com").
+    ///
+    /// This can differ from the host provided to the client if the `hostPrefix`
+    /// member of the `endpoint` trait is set, for instance.
+    resolvedHost: String,
+
+    /// The optional authentication scheme shape ID to assume. It's
+    /// possible that specific authentication schemes might influence
+    /// the serialization logic of an HTTP request.
+    @idRef(selector: "[trait|authDefinition]", failWhenMissing: true)
+    authScheme: String,
+
+    /// A list of the expected serialized query string parameters.
+    ///
+    /// Each element in the list is a query string key value pair
+    /// that starts with the query string parameter name optionally
+    /// followed by "=", optionally followed by the query string
+    /// parameter value. For example, "foo=bar", "foo=", and "foo"
+    /// are all valid values. The query string parameter name and
+    /// the value MUST appear in the format in which it is expected
+    /// to be sent over the wire; if a key or value needs to be
+    /// percent-encoded, then it MUST appear percent-encoded in this list.
+    ///
+    /// A serialized HTTP request is not in compliance with the protocol
+    /// if any query string parameter defined in `queryParams` is not
+    /// defined in the request or if the value of a query string parameter
+    /// in the request differs from the expected value.
+    ///
+    /// `queryParams` applies no constraints on additional query parameters.
+    queryParams: StringList,
+
+    /// A list of query string parameter names that must not appear in the
+    /// serialized HTTP request.
+    ///
+    /// Each value MUST appear in the format in which it is sent over the
+    /// wire; if a key needs to be percent-encoded, then it MUST appear
+    /// percent-encoded in this list.
+    forbidQueryParams: StringList,
+
+    /// A list of query string parameter names that MUST appear in the
+    /// serialized request URI, but no assertion is made on the value.
+    ///
+    /// Each value MUST appear in the format in which it is sent over the
+    /// wire; if a key needs to be percent-encoded, then it MUST appear
+    /// percent-encoded in this list.
+    requireQueryParams: StringList,
+
+    /// Defines a map of expected HTTP headers.
+    ///
+    /// Headers that are not listed in this map are ignored unless they are
+    /// explicitly forbidden through `forbidHeaders`.
+    headers: StringMap,
+
+    /// A list of header field names that must not appear in the serialized
+    /// HTTP request.
+    forbidHeaders: StringList,
+
+    /// A list of header field names that must appear in the serialized
+    /// HTTP message, but no assertion is made on the value.
+    ///
+    /// Headers listed in `headers` do not need to appear in this list.
+    requireHeaders: StringList,
+
+    /// The expected HTTP message body.
+    ///
+    /// If no request body is defined, then no assertions are made about
+    /// the body of the message.
+    body: String,
+
+    /// The media type of the `body`.
+    ///
+    /// This is used to help test runners to parse and validate the expected
+    /// data against generated data.
+    bodyMediaType: String,
+
+    /// Defines the input parameters used to generated the HTTP request.
+    ///
+    /// These parameters MUST be compatible with the input of the operation.
+    params: Document,
+
+    /// Defines vendor-specific parameters that are used to influence the
+    /// request. For example, some vendors might utilize environment
+    /// variables, configuration files on disk, or other means to influence
+    /// the serialization formats used by clients or servers.
+    ///
+    /// If a `vendorParamsShape` is set, these parameters MUST be compatible
+    /// with that shape's definition.
+    vendorParams: Document,
+
+    /// A shape to be used to validate the `vendorParams` member contents.
+    ///
+    /// If set, the parameters in `vendorParams` MUST be compatible with this
+    /// shape's definition.
+    @idRef(failWhenMissing: true)
+    vendorParamsShape: String,
+
+    /// A description of the test and what is being asserted.
+    documentation: String,
+
+    /// Applies a list of tags to the test.
+    tags: NonEmptyStringList,
+
+    /// Indicates that the test case is only to be implemented by "client" or
+    /// "server" implementations. This property is useful for identifying and
+    /// testing edge cases of clients and servers that are impossible or
+    /// undesirable to test in *both* client and server implementations.
+    appliesTo: AppliesTo,
+}
+
+@private
+map StringMap {
+    key: String,
+    value: String,
+}
+
+@private
+list StringList {
+    member: String,
+}
+
+/// Define how an HTTP response is serialized given a specific protocol,
+/// authentication scheme, and set of output or error parameters.
+@trait(selector: ":test(operation, structure[trait|error])")
+@length(min: 1)
+list httpResponseTests {
+    member: HttpResponseTestCase,
+}
+
+@private
+structure HttpResponseTestCase {
+    /// The identifier of the test case. This identifier can be used by
+    /// protocol test implementations to filter out unsupported test
+    /// cases by ID, to generate test case names, etc. The provided `id`
+    /// MUST match Smithy's `identifier` ABNF. No two `httpResponseTests`
+    /// test cases can share the same ID.
+    @required
+    @pattern("^[A-Za-z_][A-Za-z0-9_]+$")
+    id: String,
+
+    /// The shape ID of the protocol to test.
+    @required
+    @idRef(selector: "[trait|protocolDefinition]", failWhenMissing: true)
+    protocol: String,
+
+    /// Defines the HTTP response code.
+    @required
+    @range(min: 100, max: 599)
+    code: Integer,
+
+    /// The optional authentication scheme shape ID to assume. It's possible
+    /// that specific authentication schemes might influence the serialization
+    /// logic of an HTTP response.
+    @idRef(selector: "[trait|authDefinition]", failWhenMissing: true)
+    authScheme: String,
+
+    /// A map of expected HTTP headers. Each key represents a header field
+    /// name and each value represents the expected header value. An HTTP
+    /// response is not in compliance with the protocol if any listed header
+    /// is missing from the serialized response or if the expected header
+    /// value differs from the serialized response value.
+    ///
+    /// `headers` applies no constraints on additional headers.
+    headers: StringMap,
+
+    /// A list of header field names that must not appear.
+    forbidHeaders: StringList,
+
+    /// A list of header field names that must appear in the serialized
+    /// HTTP message, but no assertion is made on the value.
+    ///
+    /// Headers listed in `headers` map do not need to appear in this list.
+    requireHeaders: StringList,
+
+    /// Defines the HTTP message body.
+    ///
+    /// If no response body is defined, then no assertions are made about
+    /// the body of the message.
+    body: String,
+
+    /// The media type of the `body`.
+    ///
+    /// This is used to help test runners to parse and validate the expected
+    /// data against generated data. Binary media type formats require that
+    /// the contents of `body` are base64 encoded.
+    bodyMediaType: String,
+
+    /// Defines the output parameters deserialized from the HTTP response.
+    ///
+    /// These parameters MUST be compatible with the output of the operation.
+    params: Document,
+
+    /// Defines vendor-specific parameters that are used to influence the
+    /// response. For example, some vendors might utilize environment
+    /// variables, configuration files on disk, or other means to influence
+    /// the serialization formats used by clients or servers.
+    ///
+    /// If a `vendorParamsShape` is set, these parameters MUST be compatible
+    /// with that shape's definition.
+    vendorParams: Document,
+
+    /// A shape to be used to validate the `vendorParams` member contents.
+    ///
+    /// If set, the parameters in `vendorParams` MUST be compatible with this
+    /// shape's definition.
+    @idRef(failWhenMissing: true)
+    vendorParamsShape: String,
+
+    /// A description of the test and what is being asserted.
+    documentation: String,
+
+    /// Applies a list of tags to the test.
+    tags: NonEmptyStringList,
+
+    /// Indicates that the test case is only to be implemented by "client" or
+    /// "server" implementations. This property is useful for identifying and
+    /// testing edge cases of clients and servers that are impossible or
+    /// undesirable to test in *both* client and server implementations.
+    appliesTo: AppliesTo,
+}
+
+@private
+list NonEmptyStringList {
+    member: NonEmptyString,
+}
+
+@private
+@length(min: 1)
+string NonEmptyString
+
+@private
+@enum([
+    {
+        value: "client",
+        name: "CLIENT",
+        documentation: "The test only applies to client implementations."
+    },
+    {
+        value: "server",
+        name: "SERVER",
+        documentation: "The test only applies to server implementations."
+    },
+])
+string AppliesTo
+
+/// Define how a malformed HTTP request is rejected by a server given a specific protocol
+@trait(selector: "operation")
+@length(min: 1)
+@unstable
+list httpMalformedRequestTests {
+    member: HttpMalformedRequestTestCase
+}
+
+@private
+structure HttpMalformedRequestTestCase {
+    /// The identifier of the test case. This identifier can be used by
+    /// protocol test implementations to filter out unsupported test
+    /// cases by ID, to generate test case names, etc. The provided `id`
+    /// MUST match Smithy's `identifier` ABNF. No two `httpMalformedRequestTests`
+    /// test cases can share the same ID.
+    @required
+    @pattern("^[A-Za-z_][A-Za-z0-9_]+$")
+    id: String,
+
+    /// The name of the protocol to test.
+    @required
+    @idRef(selector: "[trait|protocolDefinition]", failWhenMissing: true)
+    protocol: String,
+
+    /// The malformed request to send.
+    @required
+    request: HttpMalformedRequestDefinition,
+
+    /// The expected response.
+    @required
+    response: HttpMalformedResponseDefinition,
+
+    /// A description of the test and what is being asserted.
+    documentation: String,
+
+    /// Applies a list of tags to the test.
+    tags: NonEmptyStringList,
+
+    /// An optional set of test parameters for parameterized testing.
+    testParameters: HttpMalformedRequestTestParametersDefinition,
+}
+
+@private
+structure HttpMalformedRequestDefinition {
+
+    /// The expected serialized HTTP request method.
+    @required
+    @length(min: 1)
+    method: String,
+
+    /// The request-target of the HTTP request, not including
+    /// the query string (for example, "/foo/bar").
+    @required
+    @length(min: 1)
+    uri: String,
+
+    /// The host / endpoint provided to the client, not including the path
+    /// or scheme (for example, "example.com").
+    host: String,
+
+    /// A list of the serialized query string parameters to include in the request.
+    ///
+    /// Each element in the list is a query string key value pair
+    /// that starts with the query string parameter name optionally
+    /// followed by "=", optionally followed by the query string
+    /// parameter value. For example, "foo=bar", "foo=", and "foo"
+    /// are all valid values. The query string parameter name and
+    /// the value MUST appear in the format in which it is expected
+    /// to be sent over the wire; if a key or value needs to be
+    /// percent-encoded, then it MUST appear percent-encoded in this list.
+    queryParams: StringList,
+
+    /// Defines a map HTTP headers to include in the request
+    headers: StringMap,
+
+    /// The HTTP message body to include in the request
+    body: String,
+}
+
+@private
+structure HttpMalformedResponseDefinition {
+
+    /// Defines a map of expected HTTP headers.
+    ///
+    /// Headers that are not listed in this map are ignored.
+    headers: StringMap,
+
+    /// Defines the HTTP response code.
+    @required
+    @range(min: 100, max: 599)
+    code: Integer,
+
+    /// The expected response body.
+    body: HttpMalformedResponseBodyDefinition,
+}
+
+@private
+structure HttpMalformedResponseBodyDefinition {
+    /// The assertion to execute against the response body.
+    @required
+    assertion: HttpMalformedResponseBodyAssertion,
+
+    /// The media type of the response body.
+    ///
+    /// This is used to help test runners to parse and evaluate
+    /// `contents' and `messageRegex` in the assertion
+    @required
+    mediaType: String
+}
+
+@private
+union HttpMalformedResponseBodyAssertion {
+    /// Defines the expected serialized response body, which will be matched
+    /// exactly.
+    contents: String,
+
+    /// A regex to evaluate against the `message` field in the body. For
+    /// responses that may have some variance from platform to platform,
+    /// such as those that include messages from a parser.
+    messageRegex: String
+}
+
+@private
+map HttpMalformedRequestTestParametersDefinition {
+    key: String,
+    value: StringList
+}
diff --git a/tests/examplefiles/smithy/test.smithy.output b/tests/examplefiles/smithy/test.smithy.output
new file mode 100644 (file)
index 0000000..1f22489
--- /dev/null
@@ -0,0 +1,1156 @@
+'$version'    Keyword.Declaration
+':'           Name.Decorator
+' "1.0"'      Name.Class
+'\n\n'        Text.Whitespace
+
+'namespace'   Keyword.Declaration
+' test'       Name.Class
+'\n\n'        Text.Whitespace
+
+'/// Define how an HTTP request is serialized given a specific protocol,' Comment.Multiline
+'\n'          Text.Whitespace
+
+'/// authentication scheme, and set of input parameters.' Comment.Multiline
+'\n'          Text.Whitespace
+
+'@trait'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"operation"' Literal.String.Double
+')'           Text
+'\n'          Text.Whitespace
+
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n'          Text.Whitespace
+
+'list'        Keyword.Declaration
+' httpRequestTests' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'member:'     Name.Label
+' '           Text.Whitespace
+'HttpRequestTestCase' Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'structure'   Keyword.Declaration
+' HttpRequestTestCase' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'/// The identifier of the test case. This identifier can be used by' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// protocol test implementations to filter out unsupported test' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// cases by ID, to generate test case names, etc. The provided `id`' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// MUST match Smithy's `identifier` ABNF. No two `httpRequestTests`" Comment.Multiline
+'\n    '      Text.Whitespace
+'/// test cases can share the same ID.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@pattern'    Name.Decorator
+'('           Text
+'"^[A-Za-z_][A-Za-z0-9_]+$"' Literal.String.Double
+')'           Text
+'\n    '      Text.Whitespace
+'id:'         Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The name of the protocol to test.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"[trait|protocolDefinition]"' Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'protocol:'   Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The expected serialized HTTP request method.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n    '      Text.Whitespace
+'method:'     Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The request-target of the HTTP request, not including' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the query string (for example, "/foo/bar").' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n    '      Text.Whitespace
+'uri:'        Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The host / endpoint provided to the client, not including the path' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// or scheme (for example, "example.com").' Comment.Multiline
+'\n    '      Text.Whitespace
+'host:'       Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The host / endpoint that the client should send to, not including' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the path or scheme (for example, "prefix.example.com").' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// This can differ from the host provided to the client if the `hostPrefix`' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// member of the `endpoint` trait is set, for instance.' Comment.Multiline
+'\n    '      Text.Whitespace
+'resolvedHost:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+"/// The optional authentication scheme shape ID to assume. It's" Comment.Multiline
+'\n    '      Text.Whitespace
+'/// possible that specific authentication schemes might influence' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the serialization logic of an HTTP request.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"[trait|authDefinition]"' Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'authScheme:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of the expected serialized query string parameters.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Each element in the list is a query string key value pair' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// that starts with the query string parameter name optionally' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// followed by "=", optionally followed by the query string' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// parameter value. For example, "foo=bar", "foo=", and "foo"' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// are all valid values. The query string parameter name and' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the value MUST appear in the format in which it is expected' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// to be sent over the wire; if a key or value needs to be' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// percent-encoded, then it MUST appear percent-encoded in this list.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// A serialized HTTP request is not in compliance with the protocol' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// if any query string parameter defined in `queryParams` is not' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// defined in the request or if the value of a query string parameter' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// in the request differs from the expected value.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// `queryParams` applies no constraints on additional query parameters.' Comment.Multiline
+'\n    '      Text.Whitespace
+'queryParams:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of query string parameter names that must not appear in the' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// serialized HTTP request.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Each value MUST appear in the format in which it is sent over the' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// wire; if a key needs to be percent-encoded, then it MUST appear' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// percent-encoded in this list.' Comment.Multiline
+'\n    '      Text.Whitespace
+'forbidQueryParams:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of query string parameter names that MUST appear in the' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// serialized request URI, but no assertion is made on the value.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Each value MUST appear in the format in which it is sent over the' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// wire; if a key needs to be percent-encoded, then it MUST appear' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// percent-encoded in this list.' Comment.Multiline
+'\n    '      Text.Whitespace
+'requireQueryParams:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines a map of expected HTTP headers.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Headers that are not listed in this map are ignored unless they are' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// explicitly forbidden through `forbidHeaders`.' Comment.Multiline
+'\n    '      Text.Whitespace
+'headers:'    Name.Label
+' '           Text.Whitespace
+'StringMap'   Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of header field names that must not appear in the serialized' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// HTTP request.' Comment.Multiline
+'\n    '      Text.Whitespace
+'forbidHeaders:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of header field names that must appear in the serialized' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// HTTP message, but no assertion is made on the value.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Headers listed in `headers` do not need to appear in this list.' Comment.Multiline
+'\n    '      Text.Whitespace
+'requireHeaders:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The expected HTTP message body.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// If no request body is defined, then no assertions are made about' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the body of the message.' Comment.Multiline
+'\n    '      Text.Whitespace
+'body:'       Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The media type of the `body`.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// This is used to help test runners to parse and validate the expected' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// data against generated data.' Comment.Multiline
+'\n    '      Text.Whitespace
+'bodyMediaType:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines the input parameters used to generated the HTTP request.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// These parameters MUST be compatible with the input of the operation.' Comment.Multiline
+'\n    '      Text.Whitespace
+'params:'     Name.Label
+' '           Text.Whitespace
+'Document'    Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines vendor-specific parameters that are used to influence the' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// request. For example, some vendors might utilize environment' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// variables, configuration files on disk, or other means to influence' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the serialization formats used by clients or servers.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// If a `vendorParamsShape` is set, these parameters MUST be compatible' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// with that shape's definition." Comment.Multiline
+'\n    '      Text.Whitespace
+'vendorParams:' Name.Label
+' '           Text.Whitespace
+'Document'    Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A shape to be used to validate the `vendorParams` member contents.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// If set, the parameters in `vendorParams` MUST be compatible with this' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// shape's definition." Comment.Multiline
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'vendorParamsShape:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A description of the test and what is being asserted.' Comment.Multiline
+'\n    '      Text.Whitespace
+'documentation:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Applies a list of tags to the test.' Comment.Multiline
+'\n    '      Text.Whitespace
+'tags:'       Name.Label
+' '           Text.Whitespace
+'NonEmptyStringList' Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Indicates that the test case is only to be implemented by "client" or' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// "server" implementations. This property is useful for identifying and' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// testing edge cases of clients and servers that are impossible or' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// undesirable to test in *both* client and server implementations.' Comment.Multiline
+'\n    '      Text.Whitespace
+'appliesTo:'  Name.Label
+' '           Text.Whitespace
+'AppliesTo'   Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'map'         Keyword.Declaration
+' StringMap'  Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'key:'        Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n    '      Text.Whitespace
+'value:'      Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'list'        Keyword.Declaration
+' StringList' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'member:'     Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'/// Define how an HTTP response is serialized given a specific protocol,' Comment.Multiline
+'\n'          Text.Whitespace
+
+'/// authentication scheme, and set of output or error parameters.' Comment.Multiline
+'\n'          Text.Whitespace
+
+'@trait'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'":test(operation, structure[trait|error])"' Literal.String.Double
+')'           Text
+'\n'          Text.Whitespace
+
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n'          Text.Whitespace
+
+'list'        Keyword.Declaration
+' httpResponseTests' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'member:'     Name.Label
+' '           Text.Whitespace
+'HttpResponseTestCase' Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'structure'   Keyword.Declaration
+' HttpResponseTestCase' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'/// The identifier of the test case. This identifier can be used by' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// protocol test implementations to filter out unsupported test' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// cases by ID, to generate test case names, etc. The provided `id`' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// MUST match Smithy's `identifier` ABNF. No two `httpResponseTests`" Comment.Multiline
+'\n    '      Text.Whitespace
+'/// test cases can share the same ID.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@pattern'    Name.Decorator
+'('           Text
+'"^[A-Za-z_][A-Za-z0-9_]+$"' Literal.String.Double
+')'           Text
+'\n    '      Text.Whitespace
+'id:'         Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The shape ID of the protocol to test.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"[trait|protocolDefinition]"' Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'protocol:'   Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines the HTTP response code.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@range'      Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'100'         Literal.Number
+','           Punctuation
+' '           Text.Whitespace
+'max:'        Name.Label
+' '           Text.Whitespace
+'599'         Literal.Number
+')'           Text
+'\n    '      Text.Whitespace
+'code:'       Name.Label
+' '           Text.Whitespace
+'Integer'     Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+"/// The optional authentication scheme shape ID to assume. It's possible" Comment.Multiline
+'\n    '      Text.Whitespace
+'/// that specific authentication schemes might influence the serialization' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// logic of an HTTP response.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"[trait|authDefinition]"' Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'authScheme:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A map of expected HTTP headers. Each key represents a header field' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// name and each value represents the expected header value. An HTTP' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// response is not in compliance with the protocol if any listed header' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// is missing from the serialized response or if the expected header' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// value differs from the serialized response value.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// `headers` applies no constraints on additional headers.' Comment.Multiline
+'\n    '      Text.Whitespace
+'headers:'    Name.Label
+' '           Text.Whitespace
+'StringMap'   Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of header field names that must not appear.' Comment.Multiline
+'\n    '      Text.Whitespace
+'forbidHeaders:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of header field names that must appear in the serialized' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// HTTP message, but no assertion is made on the value.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Headers listed in `headers` map do not need to appear in this list.' Comment.Multiline
+'\n    '      Text.Whitespace
+'requireHeaders:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines the HTTP message body.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// If no response body is defined, then no assertions are made about' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the body of the message.' Comment.Multiline
+'\n    '      Text.Whitespace
+'body:'       Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The media type of the `body`.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// This is used to help test runners to parse and validate the expected' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// data against generated data. Binary media type formats require that' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the contents of `body` are base64 encoded.' Comment.Multiline
+'\n    '      Text.Whitespace
+'bodyMediaType:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines the output parameters deserialized from the HTTP response.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// These parameters MUST be compatible with the output of the operation.' Comment.Multiline
+'\n    '      Text.Whitespace
+'params:'     Name.Label
+' '           Text.Whitespace
+'Document'    Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines vendor-specific parameters that are used to influence the' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// response. For example, some vendors might utilize environment' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// variables, configuration files on disk, or other means to influence' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the serialization formats used by clients or servers.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// If a `vendorParamsShape` is set, these parameters MUST be compatible' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// with that shape's definition." Comment.Multiline
+'\n    '      Text.Whitespace
+'vendorParams:' Name.Label
+' '           Text.Whitespace
+'Document'    Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A shape to be used to validate the `vendorParams` member contents.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// If set, the parameters in `vendorParams` MUST be compatible with this' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// shape's definition." Comment.Multiline
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'vendorParamsShape:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A description of the test and what is being asserted.' Comment.Multiline
+'\n    '      Text.Whitespace
+'documentation:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Applies a list of tags to the test.' Comment.Multiline
+'\n    '      Text.Whitespace
+'tags:'       Name.Label
+' '           Text.Whitespace
+'NonEmptyStringList' Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Indicates that the test case is only to be implemented by "client" or' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// "server" implementations. This property is useful for identifying and' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// testing edge cases of clients and servers that are impossible or' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// undesirable to test in *both* client and server implementations.' Comment.Multiline
+'\n    '      Text.Whitespace
+'appliesTo:'  Name.Label
+' '           Text.Whitespace
+'AppliesTo'   Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'list'        Keyword.Declaration
+' NonEmptyStringList' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'member:'     Name.Label
+' '           Text.Whitespace
+'NonEmptyString' Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n'          Text.Whitespace
+
+'string'      Keyword.Declaration
+' NonEmptyString' Name.Class
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'@enum'       Name.Decorator
+'('           Text
+'['           Text
+'\n    '      Text.Whitespace
+'{'           Text
+'\n        '  Text.Whitespace
+'value:'      Name.Label
+' '           Text.Whitespace
+'"client"'    Literal.String.Double
+','           Punctuation
+'\n        '  Text.Whitespace
+'name:'       Name.Label
+' '           Text.Whitespace
+'"CLIENT"'    Literal.String.Double
+','           Punctuation
+'\n        '  Text.Whitespace
+'documentation:' Name.Label
+' '           Text.Whitespace
+'"The test only applies to client implementations."' Literal.String.Double
+'\n    '      Text.Whitespace
+'}'           Text
+','           Punctuation
+'\n    '      Text.Whitespace
+'{'           Text
+'\n        '  Text.Whitespace
+'value:'      Name.Label
+' '           Text.Whitespace
+'"server"'    Literal.String.Double
+','           Punctuation
+'\n        '  Text.Whitespace
+'name:'       Name.Label
+' '           Text.Whitespace
+'"SERVER"'    Literal.String.Double
+','           Punctuation
+'\n        '  Text.Whitespace
+'documentation:' Name.Label
+' '           Text.Whitespace
+'"The test only applies to server implementations."' Literal.String.Double
+'\n    '      Text.Whitespace
+'}'           Text
+','           Punctuation
+'\n'          Text.Whitespace
+
+']'           Text
+')'           Text
+'\n'          Text.Whitespace
+
+'string'      Keyword.Declaration
+' AppliesTo'  Name.Class
+'\n\n'        Text.Whitespace
+
+'/// Define how a malformed HTTP request is rejected by a server given a specific protocol' Comment.Multiline
+'\n'          Text.Whitespace
+
+'@trait'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"operation"' Literal.String.Double
+')'           Text
+'\n'          Text.Whitespace
+
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n'          Text.Whitespace
+
+'@unstable'   Name.Decorator
+'\n'          Text.Whitespace
+
+'list'        Keyword.Declaration
+' httpMalformedRequestTests' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'member:'     Name.Label
+' '           Text.Whitespace
+'HttpMalformedRequestTestCase' Name.Variable.Class
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'structure'   Keyword.Declaration
+' HttpMalformedRequestTestCase' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'/// The identifier of the test case. This identifier can be used by' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// protocol test implementations to filter out unsupported test' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// cases by ID, to generate test case names, etc. The provided `id`' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// MUST match Smithy's `identifier` ABNF. No two `httpMalformedRequestTests`" Comment.Multiline
+'\n    '      Text.Whitespace
+'/// test cases can share the same ID.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@pattern'    Name.Decorator
+'('           Text
+'"^[A-Za-z_][A-Za-z0-9_]+$"' Literal.String.Double
+')'           Text
+'\n    '      Text.Whitespace
+'id:'         Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The name of the protocol to test.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@idRef'      Name.Decorator
+'('           Text
+'selector:'   Name.Label
+' '           Text.Whitespace
+'"[trait|protocolDefinition]"' Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'failWhenMissing:' Name.Label
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Text
+'\n    '      Text.Whitespace
+'protocol:'   Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The malformed request to send.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'request:'    Name.Label
+' '           Text.Whitespace
+'HttpMalformedRequestDefinition' Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The expected response.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'response:'   Name.Label
+' '           Text.Whitespace
+'HttpMalformedResponseDefinition' Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A description of the test and what is being asserted.' Comment.Multiline
+'\n    '      Text.Whitespace
+'documentation:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Applies a list of tags to the test.' Comment.Multiline
+'\n    '      Text.Whitespace
+'tags:'       Name.Label
+' '           Text.Whitespace
+'NonEmptyStringList' Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// An optional set of test parameters for parameterized testing.' Comment.Multiline
+'\n    '      Text.Whitespace
+'testParameters:' Name.Label
+' '           Text.Whitespace
+'HttpMalformedRequestTestParametersDefinition' Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'structure'   Keyword.Declaration
+' HttpMalformedRequestDefinition' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n\n    '    Text.Whitespace
+'/// The expected serialized HTTP request method.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n    '      Text.Whitespace
+'method:'     Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The request-target of the HTTP request, not including' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the query string (for example, "/foo/bar").' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@length'     Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'1'           Literal.Number
+')'           Text
+'\n    '      Text.Whitespace
+'uri:'        Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The host / endpoint provided to the client, not including the path' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// or scheme (for example, "example.com").' Comment.Multiline
+'\n    '      Text.Whitespace
+'host:'       Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A list of the serialized query string parameters to include in the request.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Each element in the list is a query string key value pair' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// that starts with the query string parameter name optionally' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// followed by "=", optionally followed by the query string' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// parameter value. For example, "foo=bar", "foo=", and "foo"' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// are all valid values. The query string parameter name and' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// the value MUST appear in the format in which it is expected' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// to be sent over the wire; if a key or value needs to be' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// percent-encoded, then it MUST appear percent-encoded in this list.' Comment.Multiline
+'\n    '      Text.Whitespace
+'queryParams:' Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines a map HTTP headers to include in the request' Comment.Multiline
+'\n    '      Text.Whitespace
+'headers:'    Name.Label
+' '           Text.Whitespace
+'StringMap'   Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The HTTP message body to include in the request' Comment.Multiline
+'\n    '      Text.Whitespace
+'body:'       Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'structure'   Keyword.Declaration
+' HttpMalformedResponseDefinition' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n\n    '    Text.Whitespace
+'/// Defines a map of expected HTTP headers.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// Headers that are not listed in this map are ignored.' Comment.Multiline
+'\n    '      Text.Whitespace
+'headers:'    Name.Label
+' '           Text.Whitespace
+'StringMap'   Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// Defines the HTTP response code.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'@range'      Name.Decorator
+'('           Text
+'min:'        Name.Label
+' '           Text.Whitespace
+'100'         Literal.Number
+','           Punctuation
+' '           Text.Whitespace
+'max:'        Name.Label
+' '           Text.Whitespace
+'599'         Literal.Number
+')'           Text
+'\n    '      Text.Whitespace
+'code:'       Name.Label
+' '           Text.Whitespace
+'Integer'     Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The expected response body.' Comment.Multiline
+'\n    '      Text.Whitespace
+'body:'       Name.Label
+' '           Text.Whitespace
+'HttpMalformedResponseBodyDefinition' Name.Variable.Class
+','           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'structure'   Keyword.Declaration
+' HttpMalformedResponseBodyDefinition' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'/// The assertion to execute against the response body.' Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'assertion:'  Name.Label
+' '           Text.Whitespace
+'HttpMalformedResponseBodyAssertion' Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// The media type of the response body.' Comment.Multiline
+'\n    '      Text.Whitespace
+'///'         Comment.Multiline
+'\n    '      Text.Whitespace
+'/// This is used to help test runners to parse and evaluate' Comment.Multiline
+'\n    '      Text.Whitespace
+"/// `contents' and `messageRegex` in the assertion" Comment.Multiline
+'\n    '      Text.Whitespace
+'@required'   Name.Decorator
+'\n    '      Text.Whitespace
+'mediaType:'  Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'union'       Keyword.Declaration
+' HttpMalformedResponseBodyAssertion' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'/// Defines the expected serialized response body, which will be matched' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// exactly.' Comment.Multiline
+'\n    '      Text.Whitespace
+'contents:'   Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n\n    '    Text.Whitespace
+'/// A regex to evaluate against the `message` field in the body. For' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// responses that may have some variance from platform to platform,' Comment.Multiline
+'\n    '      Text.Whitespace
+'/// such as those that include messages from a parser.' Comment.Multiline
+'\n    '      Text.Whitespace
+'messageRegex:' Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n\n'        Text.Whitespace
+
+'@private'    Name.Decorator
+'\n'          Text.Whitespace
+
+'map'         Keyword.Declaration
+' HttpMalformedRequestTestParametersDefinition' Name.Class
+' '           Text.Whitespace
+'{'           Text
+'\n    '      Text.Whitespace
+'key:'        Name.Label
+' '           Text.Whitespace
+'String'      Name.Variable.Class
+','           Punctuation
+'\n    '      Text.Whitespace
+'value:'      Name.Label
+' '           Text.Whitespace
+'StringList'  Name.Variable.Class
+'\n'          Text.Whitespace
+
+'}'           Text
+'\n'          Text.Whitespace
index 75d49d772e49b3a66b0840c19e7f3063d0056e14..364ba5eca7ad386e8c0adc05c9f59c803e513f72 100644 (file)
@@ -1,26 +1,26 @@
 '/* -----------------------------------------------------------------------------\n * java.swg\n *\n * Java typemaps\n * ----------------------------------------------------------------------------- */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%include'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'javahead'    Name
 '.'           Punctuation
 'swg'         Name
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* The jni, jtype and jstype typemaps work together and so there should be one of each. \n * The jni typemap contains the JNI type used in the JNI (C/C++) code. \n * The jtype typemap contains the Java type used in the JNI intermediary class. \n * The jstype typemap contains the Java type used in the Java proxy classes, type wrapper classes and module class. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Fragments */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%fragment'   Name.Function
 '('           Punctuation
 'SWIG_PackData' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'header'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Pack binary data into a string */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SWIGINTERN'  Name
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'SWIG_PackData' Name
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'c'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'hex'         Name
 '['           Punctuation
 '17'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '0123456789abcdef' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'eu'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'eu'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '+'           Operator
 'u'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'u'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 '('           Punctuation
 'c'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'hex'         Name
 '['           Punctuation
 '('           Punctuation
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xf0'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 '('           Punctuation
 'c'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'hex'         Name
 '['           Punctuation
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xf'         Literal.Number.Hex
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%fragment'   Name.Function
 '('           Punctuation
 'SWIG_UnPackData' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'header'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Unpack binary data from a string */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SWIGINTERN'  Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'SWIG_UnpackData' Name
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'c'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'eu'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'eu'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '+'           Operator
 'u'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 'c'           Name
 '+'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'register'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'uu'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '9'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'a'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'f'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String.Char
 'a'           Literal.String.Char
 '-10'         Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' \n      '   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 'c'           Name
 '+'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '9'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '0'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'a'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 'f'           Literal.String.Char
 "'"           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'uu'          Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String.Char
 'a'           Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'else'        Keyword
-' \n      '   Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'      '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '*'           Operator
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'uu'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Primitive types */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'jboolean'    Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'jchar'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'jbyte'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'jshort'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 'jshort'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 'jint'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'                ' Text
+'                ' Text.Whitespace
 '"'           Literal.String
 'jint'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'jint'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'          '  Text
+'          '  Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jobject'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 'jfloat'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
 ','           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'             ' Text
+'             ' Text.Whitespace
 '"'           Literal.String
 'jdouble'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'                                           ' Text
+'                                           ' Text.Whitespace
 '"'           Literal.String
 'void'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'boolean'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'char'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'byte'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'short'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 'short'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'                ' Text
+'                ' Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'          '  Text
+'          '  Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'java.math.BigInteger' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 'float'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
 ','           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'             ' Text
+'             ' Text.Whitespace
 '"'           Literal.String
 'double'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'                                           ' Text
+'                                           ' Text.Whitespace
 '"'           Literal.String
 'void'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'boolean'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'char'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'byte'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'short'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 'short'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'                ' Text
+'                ' Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'          '  Text
+'          '  Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'java.math.BigInteger' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 'float'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
 ','           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'             ' Text
+'             ' Text.Whitespace
 '"'           Literal.String
 'double'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'                                           ' Text
+'                                           ' Text.Whitespace
 '"'           Literal.String
 'void'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'jstring'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'String'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 '"'           Literal.String
 'String'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* JNI types */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'jboolean'    Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jchar'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'jchar'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbyte'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'jbyte'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jshort'      Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'jshort'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jint'        Name
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 'jint'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jlong'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jfloat'      Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'jfloat'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jdouble'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'jdouble'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jstring'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'jstring'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobject'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'jobject'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbooleanArray' Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jbooleanArray' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jcharArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'jcharArray'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbyteArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'jbyteArray'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jshortArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 'jshortArray' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jintArray'   Name
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 'jintArray'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jlongArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'jlongArray'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jfloatArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 'jfloatArray' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jdoubleArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'jdoubleArray' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobjectArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'jobjectArray' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'boolean'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jchar'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'char'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbyte'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'byte'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jshort'      Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'short'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jint'        Name
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jlong'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jfloat'      Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'float'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jdouble'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'double'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jstring'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'String'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobject'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'Object'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbooleanArray' Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'boolean[]'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jcharArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'char[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbyteArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'byte[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jshortArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 'short[]'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jintArray'   Name
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 'int[]'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jlongArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'long[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jfloatArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 'float[]'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jdoubleArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'double[]'    Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobjectArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'Object[]'    Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 'boolean'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jchar'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'char'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbyte'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'byte'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jshort'      Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'short'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jint'        Name
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 'int'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jlong'       Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jfloat'      Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 'float'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jdouble'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'double'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jstring'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'String'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobject'     Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 'Object'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbooleanArray' Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'boolean[]'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jcharArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'char[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jbyteArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'byte[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jshortArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 'short[]'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jintArray'   Name
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 'int[]'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jlongArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 'long[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jfloatArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 'float[]'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jdoubleArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'double[]'    Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobjectArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'Object[]'    Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Non primitive types */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$&javaclassname' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* pointer to a class member */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jstring'     Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'String'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* The following are the in, out, freearg, argout typemaps. These are the JNI code generating typemaps for converting from Java to C and visa versa. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* primitive types */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'Z'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-'             ' Text
+'             ' Text.Whitespace
 '"'           Literal.String
 '$input = (jboolean) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'C'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'             ' Text
+'             ' Text.Whitespace
 '"'           Literal.String
 '$input = (jint) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'B'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 '$input = (jbyte) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'S'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$input = (jshort) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'S'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-'            ' Text
+'            ' Text.Whitespace
 '"'           Literal.String
 '$input = (jshort) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 '$input = (jint) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'              ' Text
+'              ' Text.Whitespace
 '"'           Literal.String
 '$input = (jint) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 '$input = (jlong) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'             ' Text
+'             ' Text.Whitespace
 '"'           Literal.String
 '$input = (jint) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$input = (jlong) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 '$input = (jlong) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'F'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-'            ' Text
+'            ' Text.Whitespace
 '"'           Literal.String
 '$input = (jfloat) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'D'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-'           ' Text
+'           ' Text.Whitespace
 '"'           Literal.String
 '$input = (jdouble) $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-'           ' Text
+'           ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jboolean'    Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'           ' Text
+'           ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jchar'       Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'    '        Text
+'    '        Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-'  '          Text
+'  '          Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jshort'      Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-'          '  Text
+'          '  Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jshort'      Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jint'        Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'            ' Text
+'            ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jint'        Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'   '         Text
+'   '         Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jlong'       Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'           ' Text
+'           ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jint'        Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'  '          Text
+'  '          Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jlong'       Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'      '      Text
+'      '      Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jlong'       Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-'          '  Text
+'          '  Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jfloat'      Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-'         '   Text
+'         '   Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jdouble'     Name
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* unsigned long long */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Convert from BigInteger using the toByteArray member function */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jsize'       Name
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'BigInteger null' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetObjectClass' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'toByteArray' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '()[B'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyteArray'  Name
 ')'           Punctuation
 '('           Punctuation
 'CallObjectMethod' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'sz'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetArrayLength' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'sz'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_type'     Name
 ')'           Punctuation
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ')'           Punctuation
 'bae'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jsize'       Name
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'BigInteger null' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetObjectClass' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'toByteArray' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '()[B'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyteArray'  Name
 ')'           Punctuation
 '('           Punctuation
 'CallObjectMethod' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'sz'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetArrayLength' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'sz'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_type'     Name
 ')'           Punctuation
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ')'           Punctuation
 'bae'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/* Convert to BigInteger - byte array holds number in 2's complement big endian format */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewByteArray' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'FindClass'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'java/math/BigInteger' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<init>'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '([B)V'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jobject'     Name
-' '           Text
+' '           Text.Whitespace
 'bigint'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 '9'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bae'         Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bigint'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'NewObject'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bigint'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Convert to BigInteger (see out typemap) */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'Ljava/math/BigInteger;' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewByteArray' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'FindClass'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'java/math/BigInteger' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<init>'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '([B)V'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jobject'     Name
-' '           Text
+' '           Text.Whitespace
 'bigint'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'swig_i'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'swig_i'      Name
 '='           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'swig_i'      Name
 '<'           Operator
 '9'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'swig_i'      Name
 '+'           Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bae'         Name
 '['           Punctuation
 'swig_i'      Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bigint'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'NewObject'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bigint'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* char * - treat as String */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '('           Punctuation
 'GetStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'warning'     Name
 '='           Operator
 'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '('           Punctuation
 'GetStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$result'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'Ljava/lang/String;' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewStringUTF' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'freearg'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'ReleaseStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewStringUTF' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* char *& - treat as String */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
 ')'           Punctuation
 '('           Punctuation
 'GetStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'temp'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'freearg'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'ReleaseStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewStringUTF' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'V'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* primitive types by reference */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '='           Operator
 'SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n             ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
 ')'           Punctuation
 '$input'      Name
 ';'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '='           Operator
 'SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
 ')'           Punctuation
 '$input'      Name
 ';'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'Z'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'           ' Text
+'           ' Text.Whitespace
 '"'           Literal.String
 '$input = (jboolean)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'C'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'           ' Text
+'           ' Text.Whitespace
 '"'           Literal.String
 '$input = (jchar)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'B'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$input = (jbyte)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'S'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$input = (jshort)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'S'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 '$input = (jshort)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$input = (jint)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'            ' Text
+'            ' Text.Whitespace
 '"'           Literal.String
 '$input = (jint)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 '$input = (jlong)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'           ' Text
+'           ' Text.Whitespace
 '"'           Literal.String
 '$input = (jint)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$input = (jlong)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '"'           Literal.String
 '$input = (jlong)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'F'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 '$input = (jfloat)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'D'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 '$input = (jdouble)$1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                         ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                         ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
 ','           Punctuation
-' \n                          ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                          ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'           ' Text
+'           ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jboolean'    Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'           ' Text
+'           ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jchar'       Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'    '        Text
+'    '        Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jshort'      Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jshort'      Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jint'        Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'            ' Text
+'            ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jint'        Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'   '         Text
+'   '         Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jlong'       Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'           ' Text
+'           ' Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jint'        Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'  '          Text
+'  '          Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jlong'       Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'      '      Text
+'      '      Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jlong'       Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'          '  Text
+'          '  Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jfloat'      Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'         '   Text
+'         '   Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jdouble'     Name
 ')'           Punctuation
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* const unsigned long long & */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Similar to unsigned long long */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jsize'       Name
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'BigInteger null' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetObjectClass' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'toByteArray' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '()[B'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyteArray'  Name
 ')'           Punctuation
 '('           Punctuation
 'CallObjectMethod' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'sz'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetArrayLength' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'sz'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
 ')'           Punctuation
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ')'           Punctuation
 'bae'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '='           Operator
 'SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jsize'       Name
-' '           Text
+' '           Text.Whitespace
 'sz'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'BigInteger null' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetObjectClass' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'toByteArray' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '()[B'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyteArray'  Name
 ')'           Punctuation
 '('           Punctuation
 'CallObjectMethod' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'sz'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetArrayLength' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 'sz'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
 ')'           Punctuation
 '('           Punctuation
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ')'           Punctuation
 'bae'         Name
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewByteArray' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jclass'      Name
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'FindClass'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'java/math/BigInteger' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jmethodID'   Name
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'GetMethodID' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '<init>'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '([B)V'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jobject'     Name
-' '           Text
+' '           Text.Whitespace
 'bigint'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bae'         Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 'i'           Name
 '='           Operator
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '<'           Operator
 '9'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bae'         Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bae'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'bigint'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'NewObject'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'clazz'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mid'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ba'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bigint'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Default handling. Object passed by value. Convert to a pointer */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$&1_type'    Name
-' '           Text
+' '           Text.Whitespace
 'argp'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'argp'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Attempt to dereference null $1_type' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$&1_type'    Name
-' '           Text
+' '           Text.Whitespace
 'argp'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' \n   '      Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'   '         Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'argp'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Unexpected null return for type $1_type' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'argp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' \n'         Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef __cplusplus' Comment.Preproc
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
 '&'           Operator
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$1_ltype'    Name
 '('           Punctuation
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '$1_ltype'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'else'        Comment.Preproc
 '\n'          Comment.Preproc
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$&1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 '$1ptr'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'malloc'      Name
 '('           Punctuation
 'sizeof'      Keyword
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'memmove'     Name
 '('           Punctuation
 '$1ptr'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '$1'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 '$1_type'     Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
 '&'           Operator
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$1ptr'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'L$packagepath/$&javaclassname;' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' \n'         Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '('           Punctuation
 '&'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'new $&javaclassname($jniinput, false)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$&javaclassname.getCPtr($javacall)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Generic pointers and references */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fragment'    Name
 '='           Operator
 '"'           Literal.String
 'SWIG_UnPackData' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'temp'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'SWIG_UnpackData' Name
 '('           Punctuation
 'temp'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '&'           Operator
 '$1'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$1_type reference is null' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
 '&'           Operator
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-' \n'         Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fragment'    Name
 '='           Operator
 '"'           Literal.String
 'SWIG_PackData' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 '['           Punctuation
 '128'         Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SWIG_PackData' Name
 '('           Punctuation
 'buf'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '&'           Operator
 '$1'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Keyword
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '*'           Operator
 'data'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\0'         Literal.String.Char
 "'"           Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewStringUTF' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buf'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
 '&'           Operator
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-' \n\n'       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'warning'     Name
 '='           Operator
 'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'warning'     Name
 '='           Operator
 'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'L$packagepath/$javaclassname;' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '('           Punctuation
 '&'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'L$packagepath/$javaclassname;' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '('           Punctuation
 '&'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'warning'     Name
 '='           Operator
 'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaNullPointerException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Unexpected null return for type $1_type' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'     '       Text
+'     '       Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'L$packagepath/$javaclassname;' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
 '&'           Operator
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '($jniinput == 0) ? null : new $javaclassname($jniinput, false)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'new $javaclassname($jniinput, false)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname.getCPtr($javacall)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Default array handling */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$&1_ltype'   Name
 ')'           Punctuation
 '&'           Operator
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-' \n'         Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'freearg'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* char arrays - treat as String */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '('           Punctuation
 'GetStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '('           Punctuation
 'GetStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$result'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 'Ljava/lang/String;' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewStringUTF' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'argout'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'freearg'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'ReleaseStringUTFChars' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'noblock'     Name
 '='           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'NewStringUTF' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* JNI types */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'             ' Text
+'             ' Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'              ' Text
+'              ' Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'Z'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jboolean'    Name
-'       '     Text
+'       '     Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'C'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jchar'       Name
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'B'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jbyte'       Name
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'S'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jshort'      Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'I'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jint'        Name
-'           ' Text
+'           ' Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'J'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jlong'       Name
-'          '  Text
+'          '  Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'F'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jfloat'      Name
-'         '   Text
+'         '   Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'D'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jdouble'     Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'Ljava/lang/String;' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'            ' Text
+'            ' Text.Whitespace
 'jstring'     Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '1'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jobject'     Name
-'        '    Text
+'        '    Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[Z'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jbooleanArray' Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[C'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jcharArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[B'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[S'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jshortArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[I'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jintArray'   Name
-'     '       Text
+'     '       Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[J'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jlongArray'  Name
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[F'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jfloatArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '[D'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'jdoubleArray' Name
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '1'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jobjectArray' Name
-'   '         Text
+'   '         Text.Whitespace
 '"'           Literal.String
 '$input = $1;' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorin' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                         ' Text
+'                         ' Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$jniinput'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadirectorout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                          ' Text
+'                          ' Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 '$javacall'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Typecheck typemaps - The purpose of these is merely to issue a warning for overloaded C++ functions \n * that cannot be overloaded in Java as more than one C++ type maps to a single Java type */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_BOOL' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java boolean */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bool'        Keyword.Type
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_CHAR' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java char */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT8' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java byte */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT16' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java short */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT32' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java int */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT64' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java long */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT128' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java BigInteger */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_FLOAT' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java float */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_DOUBLE' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java double */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'double'      Keyword.Type
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_STRING' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java String */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_BOOL_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java boolean[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jbooleanArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_CHAR_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java char[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jcharArray'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT8_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java byte[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jbyteArray'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT16_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java short[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jshortArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT32_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java int[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jintArray'   Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_INT64_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java long[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jlongArray'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_FLOAT_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java float[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jfloatArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_DOUBLE_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java double[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jdoubleArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_OBJECT_ARRAY' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Java jobject[] */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typecheck'  Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_POINTER' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/* Default */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
 ','           Punctuation
-' \n    '     Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Exception handling */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'throws'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' \n                 ' Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'error_msg'   Name
 '['           Punctuation
 '256'         Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'sprintf'     Name
 '('           Punctuation
 'error_msg'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'C++ $1_type exception thrown, value: %d' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaRuntimeException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'error_msg'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'throws'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 '$1'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaRuntimeException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'C++ $1_type exception thrown' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'throws'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaThrowException' Name
 '('           Punctuation
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JavaRuntimeException' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$null'       Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Typemaps for code generation in proxy classes and Java type wrapper classes */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* The javain typemap is used for converting function parameter types from the type \n * used in the proxy, module or type wrapper class to the type used in the JNI class. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'          '  Text
+'          '  Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'double'      Keyword.Type
 ','           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$javainput'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javainput'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                 ' Text
+'                 ' Text.Whitespace
 'jobjectArray' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '"'           Literal.String
 '$javainput'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$&javaclassname.getCPtr($javainput)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname.getCPtr($javainput)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javaclassname.getCMemberPtr($javainput)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* The javaout typemap is used for converting function return types from the return type\n * used in the JNI class to the type returned by the proxy, module or type wrapper class. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'signed'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
 ','           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'               ' Text
+'               ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-'          '  Text
+'          '  Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'float'       Keyword.Type
 ','           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'double'      Keyword.Type
 ','           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 'ANY'         Name
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jboolean'    Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jchar'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jbyte'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jshort'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jint'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jlong'       Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jfloat'      Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jdouble'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jstring'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jobject'     Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jbooleanArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jcharArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jbyteArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jshortArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jintArray'   Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jlongArray'  Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jfloatArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jdoubleArray' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                  ' Text
+'                  ' Text.Whitespace
 'jobjectArray' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$&javaclassname' Name
 '('           Punctuation
 '$jnicall'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name
 '('           Punctuation
 '$jnicall'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$owner'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cPtr'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name
 '('           Punctuation
 'cPtr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$owner'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'cMemberPtr'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cMemberPtr'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name
 '('           Punctuation
 'cMemberPtr'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$owner'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Pointer reference typemaps */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jlong'       Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'long'        Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$*javaclassname' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$*javaclassname.getCPtr($javainput)' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaout'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cPtr'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Label
 ' '           Text
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$*javaclassname' Name
 '('           Punctuation
 'cPtr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$owner'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$*1_ltype'   Name
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'temp'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$1_ltype'    Name
 '&'           Operator
 '$input'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '&'           Operator
 'temp'        Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'out'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '('           Punctuation
 '$1_ltype'    Name
 ')'           Punctuation
 '&'           Operator
 '$result'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '$1'          Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-' \n\n'       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
 
 '/* Typemaps used for the generation of proxy and type wrapper class code */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javabase'    Name
 ')'           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaclassmodifiers' Name
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'public class' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javacode'    Name
 ')'           Punctuation
-'             ' Text
+'             ' Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javaimports' Name
 ')'           Punctuation
-'          '  Text
+'          '  Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javainterfaces' Name
 ')'           Punctuation
-'       '     Text
+'       '     Text.Whitespace
 'SWIGTYPE'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* javabody typemaps */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIG_JAVABODY_METHODS' Name
 '('           Punctuation
 'PTRCTOR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CPTR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIG_JAVABODY_PROXY' Name
 '('           Punctuation
 'PTRCTOR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CPTR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%enddef'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '// legacy name\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIG_JAVABODY_PROXY' Name
 '('           Punctuation
 'PTRCTOR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CPTR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Base proxy classes\n' Comment.Single
 
 '('           Punctuation
 'javabody'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'swigCPtr'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'boolean'     Name
-' '           Text
+' '           Text.Whitespace
 'swigCMemOwn' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'PTRCTOR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name.Function
 '('           Punctuation
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'boolean'     Name
-' '           Text
+' '           Text.Whitespace
 'cMemoryOwn'  Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCMemOwn' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cMemoryOwn'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'CPTR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getCPtr'     Name
 '('           Punctuation
 '$javaclassname' Name
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 '.'           Punctuation
 'swigCPtr'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Derived proxy classes\n' Comment.Single
 
 '('           Punctuation
 'javabody_derived' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'swigCPtr'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'PTRCTOR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name.Function
 '('           Punctuation
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'boolean'     Name
-' '           Text
+' '           Text.Whitespace
 'cMemoryOwn'  Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'super'       Name
 '('           Punctuation
 '$imclassname' Name
 'cPtr'        Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cMemoryOwn'  Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'CPTR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getCPtr'     Name
 '('           Punctuation
 '$javaclassname' Name
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 '.'           Punctuation
 'swigCPtr'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%enddef'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIG_JAVABODY_TYPEWRAPPER' Name
 '('           Punctuation
 'PTRCTOR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'DEFAULTCTOR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CPTR_VISIBILITY' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Typewrapper classes\n' Comment.Single
 
 '('           Punctuation
 'javabody'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'swigCPtr'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'PTRCTOR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name.Function
 '('           Punctuation
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'boolean'     Name
-' '           Text
+' '           Text.Whitespace
 'futureUse'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cPtr'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'DEFAULTCTOR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'CPTR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getCPtr'     Name
 '('           Punctuation
 '$javaclassname' Name
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 '.'           Punctuation
 'swigCPtr'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javabody'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPE'        Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CLASS'       Name
 ':'           Operator
 ':'           Operator
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'swigCMemberPtr' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'PTRCTOR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name.Function
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'cMemberPtr'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'boolean'     Name
-' '           Text
+' '           Text.Whitespace
 'futureUse'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCMemberPtr' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cMemberPtr'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'DEFAULTCTOR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 '$javaclassname' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCMemberPtr' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'CPTR_VISIBILITY' Name
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'getCMemberPtr' Name
 '('           Punctuation
 '$javaclassname' Name
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name
 '.'           Punctuation
 'swigCMemberPtr' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%enddef'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Set the default javabody typemaps to use protected visibility.\n   Use the macros to change to public if using multiple modules. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SWIG_JAVABODY_PROXY' Name
 '('           Punctuation
 'protected'   Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'protected'   Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SWIG_JAVABODY_TYPEWRAPPER' Name
 '('           Punctuation
 'protected'   Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'protected'   Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'protected'   Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javafinalize' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'finalize'    Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'delete'      Keyword
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/*\n * Java constructor typemaps:\n *\n * The javaconstruct typemap is inserted when a proxy class's constructor is generated.\n * This typemap allows control over what code is executed in the constructor as\n * well as specifying who owns the underlying C/C++ object. Normally, Java has\n * ownership and the underlying C/C++ object is deallocated when the Java object\n * is finalized (swigCMemOwn is true.) If swigCMemOwn is false, C/C++ is\n * ultimately responsible for deallocating the underlying object's memory.\n *\n * The SWIG_PROXY_CONSTRUCTOR macro defines the javaconstruct typemap for a proxy\n * class for a particular TYPENAME. OWNERSHIP is passed as the value of\n * swigCMemOwn to the pointer constructor method.  WEAKREF determines which kind\n * of Java object reference will be used by the C++ director class (WeakGlobalRef\n * vs. GlobalRef.)\n *\n * The SWIG_DIRECTOR_OWNED macro sets the ownership of director-based proxy\n * classes and the weak reference flag to false, meaning that the underlying C++\n * object will be reclaimed by C++.\n */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIG_PROXY_CONSTRUCTOR' Name
 '('           Punctuation
 'OWNERSHIP'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'WEAKREF'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPENAME'    Name
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 '    $imclassname.$javaclazznamedirector_connect(this, swigCPtr, swigCMemOwn, WEAKREF);' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPENAME'    Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'this'        Keyword
 '('           Punctuation
 '$imcall'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'OWNERSHIP'   Name
 ')'           Punctuation
 ';'           Punctuation
 '$directorconnect' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%enddef'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIG_DIRECTOR_OWNED' Name
 '('           Punctuation
 'TYPENAME'    Name
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SWIG_PROXY_CONSTRUCTOR' Name
 '('           Punctuation
 'true'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'TYPENAME'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%enddef'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Set the default for SWIGTYPE: Java owns the C/C++ object.\n' Comment.Single
 
 '('           Punctuation
 'true'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadestruct' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodname'  Name
 '='           Operator
 '"'           Literal.String
 'delete'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodmodifiers' Name
 '='           Operator
 '"'           Literal.String
 'public synchronized' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'swigCMemOwn' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'swigCMemOwn' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javadestruct_derived' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodname'  Name
 '='           Operator
 '"'           Literal.String
 'delete'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodmodifiers' Name
 '='           Operator
 '"'           Literal.String
 'public synchronized' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'swigCMemOwn' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'swigCMemOwn' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'swigCPtr'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'super'       Name
 '.'           Punctuation
 'delete'      Keyword
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directordisconnect' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodname'  Name
 '='           Operator
 '"'           Literal.String
 'swigDirectorDisconnect' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '$methodname' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCMemOwn' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorowner_release' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodname'  Name
 '='           Operator
 '"'           Literal.String
 'swigReleaseOwnership' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '$methodname' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCMemOwn' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorowner_take' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methodname'  Name
 '='           Operator
 '"'           Literal.String
 'swigTakeOwnership' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '$methodname' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swigCMemOwn' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$jnicall'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Java specific directives */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'define %javaconst(flag)            %feature("java:const","flag")' Comment.Preproc
 'define %clearjavaexception         %feature("except","",throws="")' Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%pragma'     Name.Function
 '('           Punctuation
 'java'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jniclassclassmodifiers' Name
 '='           Operator
 '"'           Literal.String
 'public class' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%pragma'     Name.Function
 '('           Punctuation
 'java'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'moduleclassmodifiers' Name
 '='           Operator
 '"'           Literal.String
 'public class' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Some ANSI C typemaps */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%apply'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%apply'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'unsigned'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* Array reference typemaps */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%apply'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '&'           Operator
 'ANY'         Name
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* const pointers */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%apply'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SWIGTYPE'    Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* String & length */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jni'         Name
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'jbyteArray'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jtype'       Name
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'byte[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'jstype'      Name
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'byte[]'      Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'javain'      Name
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '$javainput'  Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'freearg'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'in'          Name
 ')'           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'JCALL2'      Name
 '('           Punctuation
 'GetByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size_t'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'JCALL1'      Name
 '('           Punctuation
 'GetArrayLength' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '$2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'argout'      Name
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$input'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'JCALL3'      Name
 '('           Punctuation
 'ReleaseByteArrayElements' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'jenv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorin'  Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'descriptor'  Name
 '='           Operator
 '"'           Literal.String
 '[B'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'jbyteArray'  Name
-' '           Text
+' '           Text.Whitespace
 'jb'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jenv'        Name
 ')'           Punctuation
 '$2'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'jenv'        Name
 ')'           Punctuation
 '('           Punctuation
 'jb'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$2'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '$input'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'jb'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%typemap'    Name.Function
 '('           Punctuation
 'directorargout' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
 '('           Punctuation
 '$input'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$2'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'jbyte'       Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ')'           Punctuation
 '$1'          Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%apply'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'STRING'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'LENGTH'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/* java keywords */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%include'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'javakw'      Name
 '.'           Punctuation
 'swg'         Name
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Default enum handling\n' Comment.Single
 
 '%include'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'enumtypesafe' Name
 '.'           Punctuation
 'swg'         Name
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 3c3dc702b259b641680655151aa1b2938f9db1c5..27116375b19123938f70ae35a1dcd46579d77ea5 100644 (file)
@@ -4,25 +4,25 @@
 
 '//\n'        Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%include'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'std_container' Name
 '.'           Punctuation
 'i'           Name
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// Vector\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '%std_vector_methods' Name.Function
 '('           Punctuation
 'vector'      Name
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '%std_sequence_methods' Name.Function
 '('           Punctuation
 'vector'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reserve'     Name
 '('           Punctuation
 'size_type'   Name
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'size_type'   Name
-' '           Text
+' '           Text.Whitespace
 'capacity'    Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%enddef'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%define'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '%std_vector_methods_val' Name.Function
 '('           Punctuation
 'vector'      Name
 '.'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '%std_sequence_methods_val' Name.Function
 '('           Punctuation
 'vector'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
 
-'  \n  '      Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'reserve'     Name
 '('           Punctuation
 'size_type'   Name
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'size_type'   Name
-' '           Text
+' '           Text.Whitespace
 'capacity'    Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%enddef'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// ------------------------------------------------------------------------\n' Comment.Single
 
 
 '// ------------------------------------------------------------------------\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Operator
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<vector>'    Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '%'           Operator
 '}'           Punctuation
-'    \n\n'    Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
 
 '// exported classes\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'std'         Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'template'    Keyword
 '<'           Operator
 'class'       Keyword
 ' '           Text
 '_Tp'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
 ' '           Text
 '_Alloc'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'allocator'   Name
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'class'       Keyword
 ' '           Text
 'vector'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size_type'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ptrdiff_t'   Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'difference_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'const_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Tp'         Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'reference'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '_Tp'         Name
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'const_reference' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 'allocator_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%traits_swigtype' Name.Function
 '('           Punctuation
 '_Tp'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%traits_enum' Name.Function
 '('           Punctuation
 '_Tp'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%fragment'   Name.Function
 '('           Punctuation
 'SWIG_Traits_frag' Name
 '<'           Operator
 '_Tp'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'header'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 'SWIG_Traits_frag' Name
 '_Tp'         Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 '"'           Literal.String
 'StdVectorTraits' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'swig'        Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'template'    Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '>'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'traits'      Name.Class
 '<'           Operator
 '_Tp'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'pointer_category' Name
-' '           Text
+' '           Text.Whitespace
 'category'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'type_name'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'std::vector<' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '#_Tp'        Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ','           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '#_Alloc'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' >'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%typemap_traits_ptr' Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_VECTOR' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 '<'           Operator
 '_Tp'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef %swig_vector_methods' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 '// Add swig/language extra methods\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '%swig_vector_methods' Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 '_Tp'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'  \n    '    Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 '%std_vector_methods' Name.Function
 '('           Punctuation
 'vector'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// ***\n'    Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// This specialization should disappear or get simplified when\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 "// a 'const SWIGTYPE*&' can be defined\n" Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// ***\n'    Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'template'    Keyword
 '<'           Operator
 'class'       Keyword
 ' '           Text
 '_Tp'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
 ' '           Text
 '_Alloc'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'class'       Keyword
 ' '           Text
 'vector'      Name.Class
 '_Tp'         Name
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size_type'   Name
 ';'           Punctuation
-'    \n    '  Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ptrdiff_t'   Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'difference_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Tp'         Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'const_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
-' '           Text
+' '           Text.Whitespace
 'reference'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
-' '           Text
+' '           Text.Whitespace
 'const_reference' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 'allocator_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%traits_swigtype' Name.Function
 '('           Punctuation
 '_Tp'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%fragment'   Name.Function
 '('           Punctuation
 'SWIG_Traits_frag' Name
 '_Tp'         Name
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'header'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 'SWIG_Traits_frag' Name
 '_Tp'         Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 '"'           Literal.String
 'StdVectorTraits' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'swig'        Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'template'    Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '>'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'traits'      Name.Class
 '_Tp'         Name
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_category' Name
-' '           Text
+' '           Text.Whitespace
 'category'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'type_name'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'std::vector<' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '#_Tp'        Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' *,'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '#_Alloc'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' >'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%typemap_traits_ptr' Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_VECTOR' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 '_Tp'         Name
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef %swig_vector_methods_val' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 '// Add swig/language extra methods\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '%swig_vector_methods_val' Name.Function
 '('           Punctuation
 'std'         Name
 '_Tp'         Name
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%std_vector_methods_val' Name.Function
 '('           Punctuation
 'vector'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// ***\n'    Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// const pointer specialization\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// ***\n'    Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'template'    Keyword
 '<'           Operator
 'class'       Keyword
 ' '           Text
 '_Tp'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
 ' '           Text
 '_Alloc'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'class'       Keyword
 ' '           Text
 'vector'      Name.Class
 '<'           Operator
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size_type'   Name
 ';'           Punctuation
-'    \n    '  Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ptrdiff_t'   Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'difference_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'const_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
-' '           Text
+' '           Text.Whitespace
 'reference'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
-' '           Text
+' '           Text.Whitespace
 'const_reference' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 'allocator_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%traits_swigtype' Name.Function
 '('           Punctuation
 '_Tp'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%fragment'   Name.Function
 '('           Punctuation
 'SWIG_Traits_frag' Name
 'vector'      Name
 '<'           Operator
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'header'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 'SWIG_Traits_frag' Name
 '_Tp'         Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 '"'           Literal.String
 'StdVectorTraits' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'swig'        Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'template'    Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '>'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'traits'      Name.Class
 'vector'      Name
 '<'           Operator
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_category' Name
-' '           Text
+' '           Text.Whitespace
 'category'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'type_name'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'std::vector<' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '#_Tp'        Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' const*,'    Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '#_Alloc'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' >'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%typemap_traits_ptr' Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_VECTOR' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 'vector'      Name
 '<'           Operator
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef %swig_vector_methods_val' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 '// Add swig/language extra methods\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '%swig_vector_methods_val' Name.Function
 '('           Punctuation
 'std'         Name
 'vector'      Name
 '<'           Operator
 '_Tp'         Name
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%std_vector_methods_val' Name.Function
 '('           Punctuation
 'vector'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// ***\n'    Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// bool specialization\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 '// ***\n'    Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'template'    Keyword
 '<'           Operator
 'class'       Keyword
 ' '           Text
 '_Alloc'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' \n  '       Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'class'       Keyword
 ' '           Text
 'vector'      Name.Class
 'bool'        Keyword.Type
 ','           Punctuation
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'size_t'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'size_type'   Name
 ';'           Punctuation
-'    \n    '  Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ptrdiff_t'   Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'difference_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'bool'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'const_pointer' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
-' '           Text
+' '           Text.Whitespace
 'reference'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_type'  Name
-' '           Text
+' '           Text.Whitespace
 'const_reference' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 'allocator_type' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%traits_swigtype' Name.Function
 '('           Punctuation
 'bool'        Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%fragment'   Name.Function
 '('           Punctuation
 'SWIG_Traits_frag' Name
 '<'           Operator
 'bool'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'header'      Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 'SWIG_Traits_frag' Name
 'bool'        Keyword.Type
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t      '    Text
+'\t      '    Text.Whitespace
 'fragment'    Name
 '='           Operator
 '"'           Literal.String
 'StdVectorTraits' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'namespace'   Keyword
-' '           Text
+' '           Text.Whitespace
 'swig'        Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'template'    Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '>'           Operator
-'  '          Text
+'  '          Text.Whitespace
 'struct'      Keyword
 ' '           Text
 'traits'      Name.Class
 '<'           Operator
 'bool'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'typedef'     Keyword
-' '           Text
+' '           Text.Whitespace
 'value_category' Name
-' '           Text
+' '           Text.Whitespace
 'category'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 'static'      Keyword
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Keyword.Type
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'type_name'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'std::vector<bool, _Alloc >' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t  '        Text
+'\t  '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%typemap_traits_ptr' Name.Function
 '('           Punctuation
 'SWIG_TYPECHECK_VECTOR' Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'std'         Name
 ':'           Operator
 ':'           Operator
 '<'           Operator
 'bool'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'ifdef %swig_vector_methods_val' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 '// Add swig/language extra methods\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 '%swig_vector_methods_val' Name.Function
 '('           Punctuation
 'std'         Name
 '<'           Operator
 'bool'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_Alloc'      Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '%std_vector_methods_val' Name.Function
 '('           Punctuation
 'vector'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'if defined(SWIG_STD_MODERN_STL) && !defined(SWIG_STD_NOMODERN_STL) ' Comment.Preproc
 '\n'          Comment.Preproc
 
-'    '        Text
+'    '        Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'flip'        Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#'           Comment.Preproc
 'endif'       Comment.Preproc
 '\n'          Comment.Preproc
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 8f7589e7678727b7150f12aa7fccf62bc91a3fdc..f10bd57994f07f310982bf732b7d91136b43afc5 100644 (file)
@@ -1,5 +1,7 @@
 '# This is a TOML document comment' Comment.Single
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 'title'       Name
 ' '           Text
@@ -8,7 +10,9 @@
 '"TOML example file"' Literal.String
 ' '           Text
 '# This is an inline comment' Comment.Single
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[examples]'  Keyword
 '\n'          Text
 '='           Operator
 ' '           Text
 '2'           Literal.Number.Integer
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[strings]'   Keyword
 '\n'          Text
 '='           Operator
 ' '           Text
 '"Roses are red\\r\\nViolets are blue"' Literal.String
-'\n\n  '      Text
-'[strings.equivalents]' Keyword
+'\n'          Text
+
 '\n  '        Text
+'[strings.equivalents]' Keyword
+'\n'          Text
+
+'  '          Text
 'str1'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"The quick brown fox jumps over the lazy dog."' Literal.String
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 'str2'        Name
 ' '           Text
 '='           Operator
 '""'          Literal.String
 '"\nThe quick brown \\\n\n\n    fox jumps over \\\n      the lazy dog."' Literal.String
 '""'          Literal.String
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 'str3'        Name
 ' '           Text
 '='           Operator
 '""'          Literal.String
 '"\\\n         The quick brown \\\n         fox jumps over \\\n         the lazy dog.\\\n         "' Literal.String
 '""'          Literal.String
-'\n\n  '      Text
-'[strings.literal]' Keyword
+'\n'          Text
+
 '\n  '        Text
+'[strings.literal]' Keyword
+'\n'          Text
+
+'  '          Text
 'winpath'     Name
 '  '          Text
 '='           Operator
 ' '           Text
 "'C:\\Users\\nodejs\\templates'" Literal.String
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 'winpath2'    Name
 ' '           Text
 '='           Operator
 ' '           Text
 "'\\\\ServerX\\admin$\\system32\\'" Literal.String
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 'quoted'      Name
 '   '         Text
 '='           Operator
 ' '           Text
 '\'Tom "Dubs" Preston-Werner\'' Literal.String
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 'regex'       Name
 '    '        Text
 '='           Operator
 ' '           Text
 "'<\\i\\c*\\s*>'" Literal.String
-'\n\n  '      Text
-'[strings.multiline]' Keyword
+'\n'          Text
+
 '\n  '        Text
+'[strings.multiline]' Keyword
+'\n'          Text
+
+'  '          Text
 'regex2'      Name
 ' '           Text
 '='           Operator
 ' '           Text
 "'''I [dw]on't need \\d{2} apples'''" Literal.String
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 'lines'       Name
 '  '          Text
 '='           Operator
 "''"          Literal.String
 "'\nThe first newline is\ntrimmed in raw strings.\n   All other whitespace\n   is preserved.\n'" Literal.String
 "''"          Literal.String
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[integers]'  Keyword
 '\n'          Text
 ' '           Text
 '0'           Literal.Number.Integer
 'b11010110'   Name
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[floats]'    Keyword
 '\n'          Text
 ' '           Text
 '-0'          Literal.Number.Integer
 '.0'          Literal.Number.Float
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[booleans]'  Keyword
 '\n'          Text
 '='           Operator
 ' '           Text
 'false'       Keyword.Constant
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[datetime.offset]' Keyword
 '\n'          Text
 '='           Operator
 ' '           Text
 '1979-05-27 07:32:00Z' Literal.Number.Integer
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[datetime.local]' Keyword
 '\n'          Text
 '32'          Literal.Number.Integer
 ':'           Punctuation
 '00.999999'   Literal.Number.Float
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[date.local]' Keyword
 '\n'          Text
 '1979'        Literal.Number.Integer
 '-05'         Literal.Number.Integer
 '-27'         Literal.Number.Integer
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[time.local]' Keyword
 '\n'          Text
 '32'          Literal.Number.Integer
 ':'           Punctuation
 '00.999999'   Literal.Number.Float
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '[arrays]'    Keyword
 '\n'          Text
 ' '           Text
 '='           Operator
 ' '           Text
-'[ 1, 2, 3 ]' Keyword
+'['           Punctuation
+' '           Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'3'           Literal.Number.Integer
+' '           Text
+']'           Punctuation
 '\n'          Text
 
 'arr2'        Name
 ' '           Text
 '='           Operator
 ' '           Text
-'[ "red", "yellow", "green" ]' Keyword
+'['           Punctuation
+' '           Text
+'"red"'       Literal.String
+','           Punctuation
+' '           Text
+'"yellow"'    Literal.String
+','           Punctuation
+' '           Text
+'"green"'     Literal.String
+' '           Text
+']'           Punctuation
 '\n'          Text
 
 'arr3'        Name
 ' '           Text
 '='           Operator
 ' '           Text
-'[ [ 1, 2 ], [3, 4, 5] ]' Keyword
+'['           Punctuation
+' '           Text
+'['           Punctuation
+' '           Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Integer
+' '           Text
+']'           Punctuation
+','           Punctuation
+' '           Text
+'['           Punctuation
+'3'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'4'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'5'           Literal.Number.Integer
+']'           Punctuation
+' '           Text
+']'           Punctuation
 '\n'          Text
 
 'arr4'        Name
 ' '           Text
 '='           Operator
 ' '           Text
-'[ "all", \'strings\', """are the same""", \'\'\'type\'\'\']' Keyword
+'['           Punctuation
+' '           Text
+'"all"'       Literal.String
+','           Punctuation
+' '           Text
+"'strings'"   Literal.String
+','           Punctuation
+' '           Text
+'""'          Literal.String
+'"are the same"' Literal.String
+'""'          Literal.String
+','           Punctuation
+' '           Text
+"'''type'''"  Literal.String
+']'           Punctuation
 '\n'          Text
 
 'arr5'        Name
 ' '           Text
 '='           Operator
 ' '           Text
-'[ [ 1, 2 ], ["a", "b", "c"] ]' Keyword
+'['           Punctuation
+' '           Text
+'['           Punctuation
+' '           Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Integer
+' '           Text
+']'           Punctuation
+','           Punctuation
+' '           Text
+'['           Punctuation
+'"a"'         Literal.String
+','           Punctuation
+' '           Text
+'"b"'         Literal.String
+','           Punctuation
+' '           Text
+'"c"'         Literal.String
+']'           Punctuation
+' '           Text
+']'           Punctuation
 '\n'          Text
 
 'arr6'        Name
 '='           Operator
 ' '           Text
 '['           Punctuation
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 '1'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 '='           Operator
 ' '           Text
 '['           Punctuation
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 '1'           Literal.Number.Integer
 ','           Punctuation
-'\n  '        Text
+'\n'          Text
+
+'  '          Text
 '2'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 '\n'          Text
 
 ']'           Punctuation
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '["inline tables"]' Keyword
 '\n'          Text
 '"pug"'       Literal.String
 ' '           Text
 '}'           Punctuation
-'\n\n'        Text
+'\n'          Text
+
+'\n'          Text
 
 '["arrays of tables"]' Keyword
 '\n'          Text
 ' '           Text
 '}'           Punctuation
 ','           Punctuation
-'\n           ' Text
+'\n'          Text
+
+'           ' Text
 '{'           Punctuation
 ' '           Text
 'x'           Name
 ' '           Text
 '}'           Punctuation
 ','           Punctuation
-'\n           ' Text
+'\n'          Text
+
+'           ' Text
 '{'           Punctuation
 ' '           Text
 'x'           Name
 '}'           Punctuation
 ' '           Text
 ']'           Punctuation
-'\n\n  '      Text
+'\n'          Text
+
+'\n  '        Text
 '[products]'  Keyword
-'\n\n    '    Text
-'[[products]]' Keyword
+'\n'          Text
+
 '\n    '      Text
+'[[products]]' Keyword
+'\n'          Text
+
+'    '        Text
 'name'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"Hammer"'    Literal.String
-'\n    '      Text
+'\n'          Text
+
+'    '        Text
 'sku'         Name
 ' '           Text
 '='           Operator
 ' '           Text
 '738594937'   Literal.Number.Integer
-'\n\n    '    Text
-'[[products]]' Keyword
-'\n\n    '    Text
+'\n'          Text
+
+'\n    '      Text
 '[[products]]' Keyword
+'\n'          Text
+
 '\n    '      Text
+'[[products]]' Keyword
+'\n'          Text
+
+'    '        Text
 'name'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"Nail"'      Literal.String
-'\n    '      Text
+'\n'          Text
+
+'    '        Text
 'sku'         Name
 ' '           Text
 '='           Operator
 ' '           Text
 '284758393'   Literal.Number.Integer
-'\n    '      Text
+'\n'          Text
+
+'    '        Text
 'color'       Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"gray"'      Literal.String
-'\n\n  '      Text
+'\n'          Text
+
+'\n  '        Text
 '[fruits]'    Keyword
-'\n\n    '    Text
+'\n'          Text
+
+'\n    '      Text
 '[[fruit]]'   Keyword
-'\n      '    Text
+'\n'          Text
+
+'      '      Text
 'name'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"apple"'     Literal.String
-'\n\n      '  Text
+'\n'          Text
+
+'\n      '    Text
 '[fruit.physical]' Keyword
-'\n        '  Text
+'\n'          Text
+
+'        '    Text
 'color'       Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"red"'       Literal.String
-'\n        '  Text
+'\n'          Text
+
+'        '    Text
 'shape'       Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"round"'     Literal.String
-'\n\n      '  Text
+'\n'          Text
+
+'\n      '    Text
 '[[fruit.variety]]' Keyword
-'\n        '  Text
+'\n'          Text
+
+'        '    Text
 'name'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"red delicious"' Literal.String
-'\n\n      '  Text
+'\n'          Text
+
+'\n      '    Text
 '[[fruit.variety]]' Keyword
-'\n        '  Text
+'\n'          Text
+
+'        '    Text
 'name'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"granny smith"' Literal.String
-'\n\n    '    Text
+'\n'          Text
+
+'\n    '      Text
 '[[fruit]]'   Keyword
-'\n      '    Text
+'\n'          Text
+
+'      '      Text
 'name'        Name
 ' '           Text
 '='           Operator
 ' '           Text
 '"banana"'    Literal.String
-'\n\n      '  Text
+'\n'          Text
+
+'\n      '    Text
 '[[fruit.variety]]' Keyword
-'\n        '  Text
+'\n'          Text
+
+'        '    Text
 'name'        Name
 ' '           Text
 '='           Operator
index a29bed22b74e1b0a61ec62e001013a1c19dcd43b..93d35fa86d289e21634b5a5a409d86869ab902ff 100644 (file)
 ' '           Text
 '='           Operator
 ' '           Text
-'new'         Keyword
+'new'         Operator.Word
 ' '           Text
 'Snake'       Name.Other
 '('           Punctuation
 ' '           Text
 '='           Operator
 ' '           Text
-'new'         Keyword
+'new'         Operator.Word
 ' '           Text
 'Horse'       Name.Other
 '('           Punctuation
index da46accd304b2d47e5ab5d2d676b308e34ffba59..2a21d656cfd52fe7cd0449c27c48396eda46b90a 100644 (file)
@@ -6,7 +6,7 @@ int m21=((result_0*0+result_1*/*0<-----*/1)%mod+mod)%mod;
 
 ---tokens---
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'm21'         Name
 '='           Operator
 '('           Punctuation
@@ -28,4 +28,4 @@ int m21=((result_0*0+result_1*/*0<-----*/1)%mod+mod)%mod;
 '%'           Operator
 'mod'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 722961ba74963b470b8ee79409615eb07eef5d72..6f4ee804ef396b913a22e75cbca63abd51fad4b3 100644 (file)
@@ -7,25 +7,25 @@ foo:
 
 ---tokens---
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'foo'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 4119a73152366eb6bbfeff76fd8711be501a394e..6dc8468df9acc76e538b69b0de052b282bde0e29 100644 (file)
@@ -7,29 +7,29 @@ foo:return 0;
 
 ---tokens---
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'foo'         Name.Label
 ':'           Punctuation
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 53548e86e2c54f3bd694cde63fc78ac8d9da6464..cd23582f7154f745e4784a58b40d75b60637d21e 100644 (file)
@@ -7,26 +7,26 @@ foo :
 
 ---tokens---
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'foo'         Name.Label
 ' '           Text
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'goto'        Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 647351215a5126c6748a9fcc59769a279702371e..75af6fd9b731045f1ee7cee17429a40a468c05fc 100644 (file)
@@ -3,18 +3,18 @@
 
 ---tokens---
 '42'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '23.42'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '23.'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.42'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '023'         Literal.Number.Oct
-' '           Text
+' '           Text.Whitespace
 '0xdeadbeef'  Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '23e+42'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '42e-23'      Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
index 6454702cce04caa615fe6d4ee05d57292d99cfbc..2b5449e633ce3f6aa29be518265cca8e400b4f58 100644 (file)
@@ -5,13 +5,13 @@
 ---tokens---
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<foo>'       Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
-'    '        Text
+'    '        Text.Whitespace
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '<foo>'       Comment.PreprocFile
 '\n'          Comment.Preproc
index 985ed7492a00ffae9f7d26bb035f83274919c1fe..5d6ef3b98d40cc3366ca5652ee3973481de772c3 100644 (file)
@@ -5,13 +5,13 @@
 ---tokens---
 '#'           Comment.Preproc
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"foo.h"'     Comment.PreprocFile
 '\n'          Comment.Preproc
 
 '#'           Comment.Preproc
-'    '        Text
+'    '        Text.Whitespace
 'include'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"foo.h"'     Comment.PreprocFile
 '\n'          Comment.Preproc
diff --git a/tests/snippets/c/test_preproc_file3.txt b/tests/snippets/c/test_preproc_file3.txt
new file mode 100644 (file)
index 0000000..b36db4c
--- /dev/null
@@ -0,0 +1,18 @@
+Space around line break before macro is valid C, but failed to parse previously.
+
+---input---
+foo(); 
+ #define FOO 0
+
+---tokens---
+'foo'         Name
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+' '           Text.Whitespace
+'\n'          Text.Whitespace
+
+' '           Text.Whitespace
+'#'           Comment.Preproc
+'define FOO 0' Comment.Preproc
+'\n'          Comment.Preproc
diff --git a/tests/snippets/c/test_preproc_file4.txt b/tests/snippets/c/test_preproc_file4.txt
new file mode 100644 (file)
index 0000000..db1592d
--- /dev/null
@@ -0,0 +1,13 @@
+Comments can precede preprocessor macros
+
+---input---
+/* Comment */ /* Another */ #define FOO 0
+
+---tokens---
+'/* Comment */' Comment.Multiline
+' '           Text.Whitespace
+'/* Another */' Comment.Multiline
+' '           Text.Whitespace
+'#'           Comment.Preproc
+'define FOO 0' Comment.Preproc
+'\n'          Comment.Preproc
diff --git a/tests/snippets/c/test_preproc_file5.txt b/tests/snippets/c/test_preproc_file5.txt
new file mode 100644 (file)
index 0000000..f4a727b
--- /dev/null
@@ -0,0 +1,19 @@
+Preprocessor macros should appear only at the beginning of the line.
+Otherwise we should produce an error token.
+
+---input---
+foo(); #define FOO 0
+
+---tokens---
+'foo'         Name
+'('           Punctuation
+')'           Punctuation
+';'           Punctuation
+' '           Text.Whitespace
+'#'           Error
+'define'      Name
+' '           Text.Whitespace
+'FOO'         Name
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+'\n'          Text.Whitespace
index 9f882f7fea5865a39b8114a3b3fdc3700c9c124b..847cc86d7830767d5414bea2b6cc9c9c35b8a187 100644 (file)
@@ -11,46 +11,46 @@ int main()
 
 ---tokens---
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'default'     Keyword
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index c2de099cadc8b62804aa91fe4def6d9774296ce4..482bff54bcabc3ebf5e4e88437350a179723c7b9 100644 (file)
@@ -11,48 +11,48 @@ int main()
 
 ---tokens---
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'default'     Keyword
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/console/test_newline_in_echo.txt b/tests/snippets/console/test_newline_in_echo.txt
deleted file mode 100644 (file)
index f1335f1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
----input---
-$ echo \
-> hi
-hi
-
----tokens---
-'$ '          Generic.Prompt
-'echo'        Name.Builtin
-' '           Text
-'\\\n'        Literal.String.Escape
-
-'> '          Generic.Prompt
-'hi'          Text
-'\n'          Text
-
-'hi\n'        Generic.Output
diff --git a/tests/snippets/console/test_newline_in_echo_no_ps2.txt b/tests/snippets/console/test_newline_in_echo_no_ps2.txt
new file mode 100644 (file)
index 0000000..56a7470
--- /dev/null
@@ -0,0 +1,16 @@
+---input---
+$ echo \
+  hi
+hi
+
+---tokens---
+'$ '          Generic.Prompt
+'echo'        Name.Builtin
+' '           Text
+'\\\n'        Literal.String.Escape
+
+'  '          Text
+'hi'          Text
+'\n'          Text
+
+'hi\n'        Generic.Output
diff --git a/tests/snippets/console/test_newline_in_echo_ps2.txt b/tests/snippets/console/test_newline_in_echo_ps2.txt
new file mode 100644 (file)
index 0000000..f1335f1
--- /dev/null
@@ -0,0 +1,16 @@
+---input---
+$ echo \
+> hi
+hi
+
+---tokens---
+'$ '          Generic.Prompt
+'echo'        Name.Builtin
+' '           Text
+'\\\n'        Literal.String.Escape
+
+'> '          Generic.Prompt
+'hi'          Text
+'\n'          Text
+
+'hi\n'        Generic.Output
diff --git a/tests/snippets/console/test_newline_in_ls.txt b/tests/snippets/console/test_newline_in_ls.txt
deleted file mode 100644 (file)
index d556a98..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
----input---
-$ ls \
-> hi
-hi
-
----tokens---
-'$ '          Generic.Prompt
-'ls'          Text
-' '           Text
-'\\\n'        Literal.String.Escape
-
-'> '          Generic.Prompt
-'hi'          Text
-'\n'          Text
-
-'hi\n'        Generic.Output
diff --git a/tests/snippets/console/test_newline_in_ls_no_ps2.txt b/tests/snippets/console/test_newline_in_ls_no_ps2.txt
new file mode 100644 (file)
index 0000000..5a6bda8
--- /dev/null
@@ -0,0 +1,16 @@
+---input---
+$ ls \
+  hi
+hi
+
+---tokens---
+'$ '          Generic.Prompt
+'ls'          Text
+' '           Text
+'\\\n'        Literal.String.Escape
+
+'  '          Text
+'hi'          Text
+'\n'          Text
+
+'hi\n'        Generic.Output
diff --git a/tests/snippets/console/test_newline_in_ls_ps2.txt b/tests/snippets/console/test_newline_in_ls_ps2.txt
new file mode 100644 (file)
index 0000000..d556a98
--- /dev/null
@@ -0,0 +1,16 @@
+---input---
+$ ls \
+> hi
+hi
+
+---tokens---
+'$ '          Generic.Prompt
+'ls'          Text
+' '           Text
+'\\\n'        Literal.String.Escape
+
+'> '          Generic.Prompt
+'hi'          Text
+'\n'          Text
+
+'hi\n'        Generic.Output
index a6998e7b5643f0789abfb347c8aecc1d1d14620b..115516d9ed9212934b9b7ebdb45e2af096de916e 100644 (file)
@@ -3,4 +3,4 @@
 
 ---tokens---
 '/* foo */'   Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/java/test_default.txt b/tests/snippets/java/test_default.txt
new file mode 100644 (file)
index 0000000..5fec974
--- /dev/null
@@ -0,0 +1,36 @@
+---input---
+switch (x) {
+    case 1: break;
+    default: break;
+}
+
+---tokens---
+'switch'      Keyword
+' '           Text
+'('           Punctuation
+'x'           Name
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n'          Text
+
+'    '        Text
+'case'        Keyword
+' '           Text
+'1'           Literal.Number.Integer
+':'           Punctuation
+' '           Text
+'break'       Keyword
+';'           Punctuation
+'\n'          Text
+
+'    '        Text
+'default'     Keyword
+':'           Punctuation
+' '           Text
+'break'       Keyword
+';'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n'          Text
index 1844c56dc185ed4b723329e36267a94adb3fa8d5..34713b99e2cfeacfe974957be361d6d6be319952 100644 (file)
@@ -3,7 +3,8 @@ label:
 for(String var2: var1) {}
 
 ---tokens---
-'label:'      Name.Label
+'label'       Name.Label
+':'           Punctuation
 '\n'          Text
 
 'for'         Keyword
diff --git a/tests/snippets/jslt/test_sample.txt b/tests/snippets/jslt/test_sample.txt
new file mode 100644 (file)
index 0000000..73ad3fd
--- /dev/null
@@ -0,0 +1,83 @@
+---input---
+import "transforms/yellow.jslt" as yellow
+
+// Known valid types
+let valid-types = [ "SomeType" ]
+
+def foobar(arg) $arg.foobar
+
+{
+  "foobar": foobar(.),
+  "is-valid": contains(.type, $valid-types),
+  *: .
+}
+
+---tokens---
+'import'      Keyword.Namespace
+' '           Text.Whitespace
+'"transforms/yellow.jslt"' Literal.String.Symbol
+' '           Text.Whitespace
+'as'          Keyword.Namespace
+' '           Text.Whitespace
+'yellow'      Name.Namespace
+'\n\n'        Text.Whitespace
+
+'// Known valid types\n' Comment.Single
+
+'let'         Keyword.Declaration
+' '           Text.Whitespace
+'valid-types' Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'"SomeType"'  Literal.String.Double
+' '           Text.Whitespace
+']'           Punctuation
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'foobar'      Name.Function
+'('           Punctuation
+'arg'         Name.Variable
+')'           Punctuation
+' '           Text.Whitespace
+'$arg'        Name.Variable
+'.'           Operator
+'foobar'      Name
+'\n\n'        Text.Whitespace
+
+'{'           Punctuation
+'\n  '        Text.Whitespace
+'"foobar"'    Literal.String.Double
+':'           Punctuation
+' '           Text.Whitespace
+'foobar'      Name
+'('           Punctuation
+'.'           Operator
+')'           Punctuation
+','           Punctuation
+'\n  '        Text.Whitespace
+'"is-valid"'  Literal.String.Double
+':'           Punctuation
+' '           Text.Whitespace
+'contains'    Name.Builtin
+'('           Punctuation
+'.'           Operator
+'type'        Name
+','           Punctuation
+' '           Text.Whitespace
+'$valid-types' Name.Variable
+')'           Punctuation
+','           Punctuation
+'\n  '        Text.Whitespace
+'*'           Operator
+':'           Punctuation
+' '           Text.Whitespace
+'.'           Operator
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text.Whitespace
index 131c3997f7d18a64d10ecd547f9edd4428487fdb..4d6f965cddf0b3f05ee932751f77d1cb7c97310b 100644 (file)
@@ -4,4 +4,4 @@
 ---tokens---
 '@NO'         Literal.Number
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index a492e221769a0bc32f367a2699ab57c3806ed5e2..36eb7365e500f58280148ab639fda537bc1e8235 100644 (file)
@@ -6,4 +6,4 @@
 'YES'         Name.Builtin
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index f70d062457c8b393ac7875e492ffe5c8449ba400..4ba2348a4343d63372c3b29b1d688d9a6f6a8356 100644 (file)
@@ -8,4 +8,4 @@
 '2'           Literal.Number.Integer
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 907a0301da8e819a79f7519d839b63478a3cd97c..35d947ec26f39eb8a647f8280c03c9293afcb748 100644 (file)
@@ -6,4 +6,4 @@
 '1'           Literal.Number.Integer
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 8226cb69e24b533579e7e01fdc88f2553895e491..b58d37c972b9d0af768a07699038805f8eb2b0cf 100644 (file)
@@ -12,4 +12,4 @@
 ')'           Punctuation
 ')'           Literal
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 918d1555619eafc3662d0ea6533fcbafb0b9ab2c..c66e1c8bcca2f7434ab980ea5eb0a531e246fe05 100644 (file)
@@ -3,7 +3,7 @@
 
 ---tokens---
 '@import'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ModuleA'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index d67e7bb44a005f580af0c7540db2654a75467c3d..275842934f5e2a3f516a34d9f4f8ac945fda90d9 100644 (file)
@@ -8,20 +8,20 @@ normal "scoped_name =" lexing, which uses Name.Constant.
 '@mod::anno'  Name.Decorator
 '('           Punctuation
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const_a'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'const_b'     Name.Constant
 ' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'const_a'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index c6986aba85fe8e3c92bb9a9e307e092b78e6b893..e6ff1e340df21446778fabb1e5f0601fb13202e3 100644 (file)
@@ -7,12 +7,12 @@ enum Enum_t {enum_a, enum_b};
 'enum'        Keyword
 ' '           Text.Whitespace
 'Enum_t'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'enum_a'      Name.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'enum_b'      Name.Constant
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/rust/test_attribute.txt b/tests/snippets/rust/test_attribute.txt
new file mode 100644 (file)
index 0000000..2c4a889
--- /dev/null
@@ -0,0 +1,12 @@
+---input---
+#[foo(bar = [baz, qux])]
+
+---tokens---
+'#['          Comment.Preproc
+'foo(bar = '  Comment.Preproc
+'['           Comment.Preproc
+'baz, qux'    Comment.Preproc
+']'           Comment.Preproc
+')'           Comment.Preproc
+']'           Comment.Preproc
+'\n'          Text.Whitespace
diff --git a/tests/snippets/rust/test_break.txt b/tests/snippets/rust/test_break.txt
new file mode 100644 (file)
index 0000000..7dafde2
--- /dev/null
@@ -0,0 +1,39 @@
+---input---
+loop {
+    break;
+    break 'foo;
+    break'foo;
+    break_it;
+}
+
+---tokens---
+'loop'        Keyword
+' '           Text.Whitespace
+'{'           Punctuation
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'break'       Keyword
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'break'       Keyword
+' '           Text.Whitespace
+"'foo"        Name.Label
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'break'       Keyword
+"'foo"        Name.Label
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'break_it'    Name
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text.Whitespace
diff --git a/tests/snippets/tcl/test_comma_and_at.txt b/tests/snippets/tcl/test_comma_and_at.txt
new file mode 100644 (file)
index 0000000..51e1733
--- /dev/null
@@ -0,0 +1,131 @@
+---input---
+# Alt and arrow keys to scroll
+set scroll_amount 2
+bind Text <Alt-Up> {
+    %W yview scroll -$scroll_amount units
+    %W mark set insert @0,[expr [winfo height %W] / 2]
+}
+bind Text <Alt-Down> {
+    %W yview scroll $scroll_amount units
+    %W mark set insert @0,[expr [winfo height %W] / 2]
+}
+
+---tokens---
+'#'           Comment
+' Alt and arrow keys to scroll\n' Comment
+
+'set'         Keyword
+' '           Text.Whitespace
+'scroll_amount' Text
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+'\n'          Text
+
+'bind'        Name.Variable
+' '           Text.Whitespace
+'Text'        Text
+' '           Text.Whitespace
+'<'           Operator
+'Alt-Up'      Text
+'>'           Operator
+' '           Text.Whitespace
+'{'           Keyword
+'\n    '      Text.Whitespace
+'%'           Operator
+'W'           Name.Variable
+' '           Text.Whitespace
+'yview'       Text
+' '           Text.Whitespace
+'scroll'      Text
+' '           Text.Whitespace
+'-'           Operator
+'$scroll_amount' Name.Variable
+' '           Text.Whitespace
+'units'       Text
+'\n'          Text
+
+'    '        Text.Whitespace
+'%'           Operator
+'W'           Name.Variable
+' '           Text.Whitespace
+'mark'        Text
+' '           Text.Whitespace
+'set'         Text
+' '           Text.Whitespace
+'insert'      Text
+' '           Text.Whitespace
+'@0,'         Text
+'['           Keyword
+'expr'        Keyword
+' '           Text.Whitespace
+'['           Keyword
+'winfo'       Name.Variable
+' '           Text.Whitespace
+'height'      Text
+' '           Text.Whitespace
+'%'           Operator
+'W'           Text
+']'           Keyword
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+']'           Keyword
+'\n'          Text
+
+'}'           Keyword
+'\n'          Text
+
+'bind'        Name.Variable
+' '           Text.Whitespace
+'Text'        Text
+' '           Text.Whitespace
+'<'           Operator
+'Alt-Down'    Text
+'>'           Operator
+' '           Text.Whitespace
+'{'           Keyword
+'\n    '      Text.Whitespace
+'%'           Operator
+'W'           Name.Variable
+' '           Text.Whitespace
+'yview'       Text
+' '           Text.Whitespace
+'scroll'      Text
+' '           Text.Whitespace
+'$scroll_amount' Name.Variable
+' '           Text.Whitespace
+'units'       Text
+'\n'          Text
+
+'    '        Text.Whitespace
+'%'           Operator
+'W'           Name.Variable
+' '           Text.Whitespace
+'mark'        Text
+' '           Text.Whitespace
+'set'         Text
+' '           Text.Whitespace
+'insert'      Text
+' '           Text.Whitespace
+'@0,'         Text
+'['           Keyword
+'expr'        Keyword
+' '           Text.Whitespace
+'['           Keyword
+'winfo'       Name.Variable
+' '           Text.Whitespace
+'height'      Text
+' '           Text.Whitespace
+'%'           Operator
+'W'           Text
+']'           Keyword
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+']'           Keyword
+'\n'          Text
+
+'}'           Keyword
+'\n'          Text
diff --git a/tests/test_procfile.py b/tests/test_procfile.py
new file mode 100644 (file)
index 0000000..d919771
--- /dev/null
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+"""
+    Basic ProcfileLexer Test
+    ~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import pytest
+
+from pygments.token import Name, Punctuation, Text
+from pygments.lexers.procfile import ProcfileLexer
+
+
+@pytest.fixture(scope='module')
+def lexer():
+    yield ProcfileLexer()
+
+
+def test_basic_line(lexer):
+    text = 'task: executable --options'
+
+    tokens = lexer.get_tokens(text)
+
+    for index, token in enumerate(tokens):
+        if index == 0:
+            assert token == (Name.Label, 'task')
+        elif index == 1:
+            assert token == (Punctuation, ':')
+        else:
+            assert token[0] in (Text, Text.Whitespace)
+
+
+def test_environment_variable(lexer):
+    text = '$XDG_SESSION_PATH'
+
+    token = list(lexer.get_tokens(text))[0]
+
+    assert token == (Name.Variable, text)
diff --git a/tests/test_words.py b/tests/test_words.py
new file mode 100644 (file)
index 0000000..2739259
--- /dev/null
@@ -0,0 +1,366 @@
+"""
+    Pygments tests for words()
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, words
+from pygments.token import Token
+
+
+class MyLexer(RegexLexer):
+    tokens = {
+        "root": [
+            (
+                words(
+                    [
+                        "a-word",
+                        "another-word",
+                        # Test proper escaping of a few things that can occur
+                        # in regular expressions. They are all matched literally.
+                        "[",
+                        "]",
+                        "^",
+                        "\\",
+                        "(",
+                        ")",
+                        "(?:",
+                        "-",
+                        "|",
+                        r"\w",
+                    ]
+                ),
+                Token.Name,
+            ),
+            (words(["space-allowed-before-this"], prefix=" ?"), Token.Name),
+            (words(["space-allowed-after-this"], suffix=" ?"), Token.Name),
+            (
+                words(["space-required-before-and-after-this"], prefix=" ", suffix=" "),
+                Token.Name,
+            ),
+            # prefix and suffix can be regexes.
+            (words(["one-whitespace-allowed-before-this"], prefix=r"\s?"), Token.Name),
+            (words(["all-whitespace-allowed-after-this"], suffix=r"\s*"), Token.Name),
+            (
+                words(
+                    ["all-whitespace-allowed-one-required-after-this"], suffix=r"\s+"
+                ),
+                Token.Name,
+            ),
+            (r"\n", Token.Text),
+        ],
+    }
+
+
+def test_basic():
+    s = "a-word this-is-not-in-the-list another-word"
+    assert list(MyLexer().get_tokens(s)) == [
+        (Token.Name, "a-word"),
+        (Token.Error, " "),
+        (Token.Error, "t"),
+        (Token.Error, "h"),
+        (Token.Error, "i"),
+        (Token.Error, "s"),
+        (Token.Name, "-"),
+        (Token.Error, "i"),
+        (Token.Error, "s"),
+        (Token.Name, "-"),
+        (Token.Error, "n"),
+        (Token.Error, "o"),
+        (Token.Error, "t"),
+        (Token.Name, "-"),
+        (Token.Error, "i"),
+        (Token.Error, "n"),
+        (Token.Name, "-"),
+        (Token.Error, "t"),
+        (Token.Error, "h"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "l"),
+        (Token.Error, "i"),
+        (Token.Error, "s"),
+        (Token.Error, "t"),
+        (Token.Error, " "),
+        (Token.Name, "another-word"),
+        (Token.Text, "\n"),
+    ]
+
+
+def test_special_characters():
+    s = """
+[
+]
+^
+\\
+(
+)
+(?:
+-
+|
+\\w
+"""
+    assert list(MyLexer().get_tokens(s)) == [
+        (Token.Name, "["),
+        (Token.Text, "\n"),
+        (Token.Name, "]"),
+        (Token.Text, "\n"),
+        (Token.Name, "^"),
+        (Token.Text, "\n"),
+        (Token.Name, "\\"),
+        (Token.Text, "\n"),
+        (Token.Name, "("),
+        (Token.Text, "\n"),
+        (Token.Name, ")"),
+        (Token.Text, "\n"),
+        (Token.Name, "(?:"),
+        (Token.Text, "\n"),
+        (Token.Name, "-"),
+        (Token.Text, "\n"),
+        (Token.Name, "|"),
+        (Token.Text, "\n"),
+        (Token.Name, "\\w"),
+        (Token.Text, "\n"),
+    ]
+
+
+def test_affixes():
+    s = """
+space-allowed-after-this |
+space-allowed-before-this
+space-allowed-after-this
+ space-required-before-and-after-this |
+space-required-before-and-after-this |
+ space-required-before-and-after-this<= no space after
+"""
+    assert list(MyLexer().get_tokens(s)) == [
+        (Token.Name, "space-allowed-after-this "),
+        (Token.Name, "|"),
+        (Token.Text, "\n"),
+        (Token.Name, "space-allowed-before-this"),
+        (Token.Text, "\n"),
+        (Token.Name, "space-allowed-after-this"),
+        (Token.Text, "\n"),
+        (Token.Name, " space-required-before-and-after-this "),
+        (Token.Name, "|"),
+        (Token.Text, "\n"),
+        (Token.Error, "s"),
+        (Token.Error, "p"),
+        (Token.Error, "a"),
+        (Token.Error, "c"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Error, "q"),
+        (Token.Error, "u"),
+        (Token.Error, "i"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Error, "d"),
+        (Token.Name, "-"),
+        (Token.Error, "b"),
+        (Token.Error, "e"),
+        (Token.Error, "f"),
+        (Token.Error, "o"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "a"),
+        (Token.Error, "n"),
+        (Token.Error, "d"),
+        (Token.Name, "-"),
+        (Token.Error, "a"),
+        (Token.Error, "f"),
+        (Token.Error, "t"),
+        (Token.Error, "e"),
+        (Token.Error, "r"),
+        (Token.Name, "-"),
+        (Token.Error, "t"),
+        (Token.Error, "h"),
+        (Token.Error, "i"),
+        (Token.Error, "s"),
+        (Token.Error, " "),
+        (Token.Name, "|"),
+        (Token.Text, "\n"),
+        (Token.Error, " "),
+        (Token.Error, "s"),
+        (Token.Error, "p"),
+        (Token.Error, "a"),
+        (Token.Error, "c"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Error, "q"),
+        (Token.Error, "u"),
+        (Token.Error, "i"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Error, "d"),
+        (Token.Name, "-"),
+        (Token.Error, "b"),
+        (Token.Error, "e"),
+        (Token.Error, "f"),
+        (Token.Error, "o"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "a"),
+        (Token.Error, "n"),
+        (Token.Error, "d"),
+        (Token.Name, "-"),
+        (Token.Error, "a"),
+        (Token.Error, "f"),
+        (Token.Error, "t"),
+        (Token.Error, "e"),
+        (Token.Error, "r"),
+        (Token.Name, "-"),
+        (Token.Error, "t"),
+        (Token.Error, "h"),
+        (Token.Error, "i"),
+        (Token.Error, "s"),
+        (Token.Error, "<"),
+        (Token.Error, "="),
+        (Token.Error, " "),
+        (Token.Error, "n"),
+        (Token.Error, "o"),
+        (Token.Error, " "),
+        (Token.Error, "s"),
+        (Token.Error, "p"),
+        (Token.Error, "a"),
+        (Token.Error, "c"),
+        (Token.Error, "e"),
+        (Token.Error, " "),
+        (Token.Error, "a"),
+        (Token.Error, "f"),
+        (Token.Error, "t"),
+        (Token.Error, "e"),
+        (Token.Error, "r"),
+        (Token.Text, "\n"),
+    ]
+
+
+def test_affixes_regexes():
+    s = """
+ one-whitespace-allowed-before-this
+NOT-WHITESPACEone-whitespace-allowed-before-this
+all-whitespace-allowed-after-this \n \t
+all-whitespace-allowed-after-thisNOT-WHITESPACE
+all-whitespace-allowed-one-required-after-thisNOT-WHITESPACE"""
+    assert list(MyLexer().get_tokens(s)) == [
+        (Token.Name, " one-whitespace-allowed-before-this"),
+        (Token.Text, "\n"),
+        (Token.Error, "N"),
+        (Token.Error, "O"),
+        (Token.Error, "T"),
+        (Token.Name, "-"),
+        (Token.Error, "W"),
+        (Token.Error, "H"),
+        (Token.Error, "I"),
+        (Token.Error, "T"),
+        (Token.Error, "E"),
+        (Token.Error, "S"),
+        (Token.Error, "P"),
+        (Token.Error, "A"),
+        (Token.Error, "C"),
+        (Token.Error, "E"),
+        (Token.Name, "one-whitespace-allowed-before-this"),
+        (Token.Text, "\n"),
+        (Token.Name, "all-whitespace-allowed-after-this \n \t\n"),
+        (Token.Name, "all-whitespace-allowed-after-this"),
+        (Token.Error, "N"),
+        (Token.Error, "O"),
+        (Token.Error, "T"),
+        (Token.Name, "-"),
+        (Token.Error, "W"),
+        (Token.Error, "H"),
+        (Token.Error, "I"),
+        (Token.Error, "T"),
+        (Token.Error, "E"),
+        (Token.Error, "S"),
+        (Token.Error, "P"),
+        (Token.Error, "A"),
+        (Token.Error, "C"),
+        (Token.Error, "E"),
+        (Token.Text, "\n"),
+        (Token.Error, "a"),
+        (Token.Error, "l"),
+        (Token.Error, "l"),
+        (Token.Name, "-"),
+        (Token.Error, "w"),
+        (Token.Error, "h"),
+        (Token.Error, "i"),
+        (Token.Error, "t"),
+        (Token.Error, "e"),
+        (Token.Error, "s"),
+        (Token.Error, "p"),
+        (Token.Error, "a"),
+        (Token.Error, "c"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "a"),
+        (Token.Error, "l"),
+        (Token.Error, "l"),
+        (Token.Error, "o"),
+        (Token.Error, "w"),
+        (Token.Error, "e"),
+        (Token.Error, "d"),
+        (Token.Name, "-"),
+        (Token.Error, "o"),
+        (Token.Error, "n"),
+        (Token.Error, "e"),
+        (Token.Name, "-"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Error, "q"),
+        (Token.Error, "u"),
+        (Token.Error, "i"),
+        (Token.Error, "r"),
+        (Token.Error, "e"),
+        (Token.Error, "d"),
+        (Token.Name, "-"),
+        (Token.Error, "a"),
+        (Token.Error, "f"),
+        (Token.Error, "t"),
+        (Token.Error, "e"),
+        (Token.Error, "r"),
+        (Token.Name, "-"),
+        (Token.Error, "t"),
+        (Token.Error, "h"),
+        (Token.Error, "i"),
+        (Token.Error, "s"),
+        (Token.Error, "N"),
+        (Token.Error, "O"),
+        (Token.Error, "T"),
+        (Token.Name, "-"),
+        (Token.Error, "W"),
+        (Token.Error, "H"),
+        (Token.Error, "I"),
+        (Token.Error, "T"),
+        (Token.Error, "E"),
+        (Token.Error, "S"),
+        (Token.Error, "P"),
+        (Token.Error, "A"),
+        (Token.Error, "C"),
+        (Token.Error, "E"),
+        (Token.Text, "\n"),
+    ]
+
+
+class MySecondLexer(RegexLexer):
+    tokens = {
+        "root": [
+            (words(["[", "x"]), Token.Name),
+        ],
+    }
+
+
+def test_bracket_escape():
+    s = "whatever"
+    # This used to emit a FutureWarning.
+    assert list(MySecondLexer().get_tokens("x")) == [
+        (Token.Name, "x"),
+        (Token.Text, "\n"),
+    ]